• Resolved l_mason

    (@l_mason)


    After installing the latest update to your plugin, I tried to send a test email but it always returns “Error: unknown error!”. No other WordPress changes have been made. The WP-Mail-SMTP plugin I use is working as expected and sending emails.

Viewing 15 replies - 1 through 15 (of 20 total)
  • Plugin Author cusrev

    (@ivole)

    Thanks for trying my plugin!

    Can you please tell me

    1. if you had previous versions of the plugin installed?
    2. what is your public shop URL?
    3. if you send test emails from Review Reminder tab or Review for Discount tab?

    Thread Starter l_mason

    (@l_mason)

    Thanks for your quick reply. I found this plugin to be very useful! I’m looking forward to it working on my site once again.

    1. Yes, I have used previous versions of the plugin and have downloaded version 2.6 (which worked) in case I need to revert back.

    2. The site is still under construction until this is resolved.

    3. Both failed but I only need the Review Reminder tab.

    Thread Starter l_mason

    (@l_mason)

    Found this:
    [11-Sep-2017 19:03:43 UTC] PHP Notice: Trying to get property of non-object in
    wp-content\plugins\customer-reviews-woocommerce\class-iv
    ole-email.php on line 244

    Thread Starter l_mason

    (@l_mason)

    I’m now getting my test emails sent by adding this to your plugin code:
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    It still shows “Error: unknown error!” in the admin page on the tabs mentioned previously but at least the emails are being sent!

    Plugin Author cusrev

    (@ivole)

    Thanks for the updates! What error message is returned by curl_exec if you don’t specify the option CURLOPT_SSL_VERIFYPEER?

    Thread Starter l_mason

    (@l_mason)

    The debug log shows nothing as the response [ error_log( $result ) ]. That would perhaps explain why the json_decode fails to produce a valid structure and the error on line 244.

    Plugin Author cusrev

    (@ivole)

    I’ve just released version 3.3 of the plugin. It will provide more details about errors when sending test emails. Can you please install it and try sending a test email again?

    You should still receive an error but with more detailed description. Please tell what will be the error message.

    Thread Starter l_mason

    (@l_mason)

    Updated the plugin to the latest version and tried to send test email again with this result:
    “Error: cannot connect to the email server (SSL certificate problem: unable to get local issuer certificate).”

    Plugin Author cusrev

    (@ivole)

    Thanks! Now, the root cause of the problem with sending emails is clear.

    The error is caused by not having an up-to-date bundle of CA root certificates on your web server. This is typically a text file with a bunch of cryptographic signatures that curl_exec function uses to verify a host’s SSL certificate. You need to make sure that your installation of PHP has one of these files, and that it’s up to date. More information is here: https://snippets.webaware.com.au/howto/stop-turning-off-curlopt_ssl_verifypeer-and-fix-your-php-config/.

    As you’ve already discovered, one way to solve this problem is to set the option CURLOPT_SSL_VERIFYPEER to false. However, it is bad for security, so I won’t do it in my plugin.

    Another option is to get your web server updated and download up-to-date root certificate bundles. I recommend this option. Please check the link above for further information about getting the certificate bundles.

    I hope it helps!

    Thread Starter l_mason

    (@l_mason)

    Yes! That fixed it and the emails are being sent now. Thanks so much!

    I have a couple more questions:
    1. Is there a way to send the review email to customers whose orders were completed while the plugin was having trouble?
    2. The review email is sent X days after the order is marked as complete – does it run every X hours, every morning at a certain time, etc?

    Once again, thanks for working with me to get this resolved. Your plugin is awesome! I’d be glad to leave a review for it.

    Plugin Author cusrev

    (@ivole)

    Great, you’re welcome!

    1. No, not yet. There is another request for adding a manual sending option (https://www.ads-software.com/support/topic/manually-sending/) but I haven’t decided yet what is the best way to implement it. If you have any ideas how this should look and work, I’d be interested to hear them.

    2. The plugin uses WP Cron for scheduling. It means that if you have more or less popular website and there is at least one visitor at any moment of time, then review emails will be sent almost on the same minute X days after the order is marked as complete. If you website is not so popular, then review emails will be sent as soon as somebody visits your website after X days since the order was marked complete have passed.

    Thread Starter l_mason

    (@l_mason)

    Even though test emails are working now, I have the Review Reminder set to a sending delay of 1 day and it has now been 48 hours without an email sent even though the site has traffic.

    Here’s a few ideas I came up with for the manual sending option: Tie into the Woocommerce Orders page and add a manual Send Review Reminder button for each order or perhaps create an admin page to show all orders in the past 30 days with a checkbox next to each order and one manual send button. In my case, the manual send approach would be more beneficial than automatic in that it would allow me to choose which orders I want to receive reviews from and save resources on my hosting server.

    Plugin Author cusrev

    (@ivole)

    OK. Can you please install WP Crontrol plugin for seeing what is happening in your WP-Cron system?

    Next, please do the following:

    1. Make sure that sending review reminders is enabled for all categories of products in Customer Reviews for WooCommerce settings.
    2. Set status of your test order as “Pending payment”.
    3. Set status of your test order as “Completed”.
    4. Go to Tools -> Cron Events and check the list of scheduled cron events. You should see one event with the name “ivole_send_reminder” in “Hook Name” column and your WooCommerce order number in “Arguments” columns.

    Please tell me if “ivole_send_reminder” hook is present in this list or not?

    Thread Starter l_mason

    (@l_mason)

    I installed the plugin you mentioned and saw multiple “ivole_send_reminder” on the list with correct order numbers, however at the top of the page I’m seeing this message:
    “There was a problem spawning a call to the WP-Cron system on your site. This means WP-Cron events on your site may not work. The problem was:
    cURL error 28: Operation timed out after 3016 milliseconds with 0 bytes received”

    Other Cron events seem to be working fine, e.g. Jetpack.

    Plugin Author cusrev

    (@ivole)

    1. Does it happen on the same server where you didn’t have up-to-date certificates?
    2. What web server software you are using?
    3. Are you managing it yourself or is it managed by somebody else?
    4. Where your website is hosted? On a local computer or on a server provided by some hosting provider?

Viewing 15 replies - 1 through 15 (of 20 total)
  • The topic ‘Send Test Email Error’ is closed to new replies.