bos Posted September 14, 2016 Share Posted September 14, 2016 (CC 6.0.12) These are my admin-settings. Expected behaviour is that I get a mail whenever an order is placed ( = pending), but I never receive any mails. Checking the Error Log in the admin-interface reveals nothing, and my mail-address is correct. Tips? Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 14, 2016 Share Posted September 14, 2016 In admin, Store Settings, Advanced tab, make sure the Email settings are as you think they should be. If anything was changed, Save. Then click the TEST button. A window will open showing the results of CubeCart trying to talk to the email server so designated to receive emails to send out. Quote Link to comment Share on other sites More sharing options...
bos Posted September 14, 2016 Author Share Posted September 14, 2016 "Test failed to execute". No explanation as to why, though. But the test-mail arrived to my inbox. "Testing from CubeCart v6.0.12 at http://<address>". Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 14, 2016 Share Posted September 14, 2016 Then we know that your installation can email. But, for some reason, the debug conversation is not getting captured. That is, the SMTPTest function uses PHP's Output Buffering functionality. In admin, PHP Info, scroll to the Core table. Then look for the 'output_buffering' row. The default value is 4096. If this says Off or has a zero value, then you will need to contact your hosting provider to get assistance at enabling this. This is the only reason I can determine where the TEST would return "Test failed to execute." but with no error info (as if the Mailer had no error to report). That sets us back to square-one to learn why you are not getting Pending Order emails. The thing to check is the Admin: Order Received email template. There is a conversation in the forum about what to check. Search for nested braces. Quote Link to comment Share on other sites More sharing options...
Dirty Butter Posted September 14, 2016 Share Posted September 14, 2016 Here's the nested braces discussion: Quote Link to comment Share on other sites More sharing options...
bos Posted September 14, 2016 Author Share Posted September 14, 2016 output_buffering is 4096, so no error there. I checked the thread you referred to, and I was just about to investigate the Order Received-template. But, somehow, I'm unable to. In the template list, I click the flag-icon next to "Admin: Order Received", expecting to see the code for this template. Instead, a template named "New Order" shows up (see second attachment). No matter what I do in the Template-list, I cannot seem to bring up the Order Received-template. I tried FTP to the store, seeing if the template was accessible as a plain file somewhere, but I did not find it so I surmise the templates are stored in the database. I'm pretty confused as to why I cannot view the correct template. Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 14, 2016 Share Posted September 14, 2016 The Admin: Order Received is the name of the template. The phrase New Order #{$DATA.cart_order_id} is content that the template will substitute with actual data. Also, a different language will have a different phrase. For example, a German template will have Neue Bestellung #{$DATA.cart_order_id}. It is, however, just a tad confusing to see the content assigned to the Subject header (of the email) in the Breadcrumbs. You will see the WYSIWYG content on the HTML Content and Plain Text Content tabs. On the HTML Content tab, the editor can be switched to Source mode to more easily check and make the edits. The conversation linked to above discusses one instance in another template. But the linked nesting issue is also found in Admin: Order Received, at five places (the first line, two in Billing, and two in Shipping) in both the HTML and Plain Text tabs. I also want to stress that the problem of malformed email templates arise only after having edited the HTML Content - as it is the CKEditor that causes the malformation. Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 14, 2016 Share Posted September 14, 2016 I would ask that you submit a service ticket to your hosting provider to have them verify that PHP's Output Buffering is enabled. I assert that the only way the TEST would not capture the conversation is if PHP's functions ob_start() and ob_get_contents() were not functioning. Quote Link to comment Share on other sites More sharing options...
bos Posted September 14, 2016 Author Share Posted September 14, 2016 I will contact my hosting provider tomorrow and see what it looks like at their end. Now, for the sake of testing; I wiped out the "Admin: Order Received"-template, leaving only a short line of text, like "Someone's placed an order. Track it here: [...]", both for HTML version and Plain text version. This is basically the only thing I want; a mail telling me an order has been placed. An order summary per mail is not that useful for me, since I still need to login to the store to process the order. But still, despite cleaning up the template; no mail arrives. Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 14, 2016 Share Posted September 14, 2016 Hmm... Frustrating. There is one final test I would like for you to do. See: https://forums.cubecart.com/topic/51550-how-to-create-the-error-log/ Make a test. If there aren't any clues in the error_log file, then we need to either: manually make very deep tests (we take this offline) subscribe to a service plan for a month and let the programmers figure out why perhaps implement email logging (https://github.com/cubecart/v6/issues/989) Quote Link to comment Share on other sites More sharing options...
bos Posted September 15, 2016 Author Share Posted September 15, 2016 I followed the thread of how to create an error-log, cleaned my old error-logs in the Admin-interface and ran the mail()-test once again. Result: "TEST failed to execute", clean logs (that is, no entries in the error-log), test-mail arrives to my inbox. Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 15, 2016 Share Posted September 15, 2016 The procedure creates a new file, named error_log, in the CubeCart folder on your site. You will need to use FTP or to log in to your hosting account's control panel to retrieve and examine the contents. Quote Link to comment Share on other sites More sharing options...
bos Posted September 15, 2016 Author Share Posted September 15, 2016 Right. Found it. What I did now was clearing this file and then run the email-test again, to get the error_log filled with fresh content for just this particular error. I have attached the error-log here. I hope it is of any help getting a clue of as to why I'm having this error. error_log.txt Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 15, 2016 Share Posted September 15, 2016 Ok, excellent. Please contact your hosting provider to advise them that: "The TCP wrapper for CURL is not configured." Also: "Folders in PHP's "include" path for my site are being denied access due to 'open_basedir restrictions'. Please help with adjusting PHP's "include" path, or include these folders as "allowed paths". Give your hosting provider's tech support (at least the location of) this error file. Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 15, 2016 Share Posted September 15, 2016 However, the errors listed in the error_log file do not show why (note, your site CAN email) the SMTPTest failed resulting in a message saying "Test failed to execute." Still looking for why PHP's Output Buffering (the ob_xx family of functions) isn't working. Quote Link to comment Share on other sites More sharing options...
bos Posted September 20, 2016 Author Share Posted September 20, 2016 I contacted support and they told me that "You are trying to access files that belongs to a template engine (Smarty) that's not installed on our servers. We cannot change the open_basedir-rules because our users are supposed to only read and write from their respective folders". And: "Can you please elaborate what they [you, bsmither] mean with 'The TCP wrapper for CURL is not configured' ?". Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 20, 2016 Share Posted September 20, 2016 Your host cannot change the open_basedir rules. Ok, fine. But they (or maybe you have the ability in your hosting control panel?) are able to adjust the PHP.INI setting to remove these folders from PHP's 'include_path'. PHP's error message, "Unable to find the wrapper "tcp" - did you forget to enable it when you configured PHP?" There is this:https://forums.cubecart.com/topic/51327-resolved-blank-store-front-after-upgrade-to-6011/ Quote Link to comment Share on other sites More sharing options...
bos Posted September 23, 2016 Author Share Posted September 23, 2016 I checked that topic, to no avail. That user had problems with the Kurotu skin (which I use as well) so just for the sake of testing I tried replacing it with the default one, but the error remains; no mails at all are sent. This is getting a bit frustrating, because the customers don't get an order confirmation mail either. Checking the error log, I'm a bit confused. This line: [23-Sep-2016 21:56:39 Europe/Stockholm] PHP Warning: file_exists() [<a href='http://docs.php.net/manual/en/function.file-exists.php'>function.file-exists.php</a>]: open_basedir restriction in effect. File(/usr/share/pear/PHPMailer.php) is not within the allowed path(s): (/storage/content/:/tmp/:/usr/share/pear/:/usr/share/php/) in /storage/content/07/134407/store.ribit.se/public_html/classes/autoloader.class.php on line 92 If i interpret it word by word, what I'm reading is that /usr/share/pear/PHPMailer.php is not within the paths in the parenthesis, but checking the parenthesis I clearly see /usr/share/pear/ there, so what exactly is this error message telling me? Is CC trying to invoke the /usr/share-file instead of the one found under classes/phpMailer? Put another way, which of these two are supposed to be invoked from CC? Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 23, 2016 Share Posted September 23, 2016 In autoloader.class.php, the autoload() function is trying to find the PHPMailer.php file. I think that is not correct, as the proper sequence, as I see it, is to find and load the /classes/mailer.class.php file. If I am correct, there is code somewhere that is wanting to find and load the PHPMailer class. That code could be a plugin written for an earlier version of CC5 and has not been updated to CC6. Can we have a list of third-party modules that are installed? Ideally, if we can get trace of this warning, we can figure out what is calling the Mailer incorrectly. Quote Link to comment Share on other sites More sharing options...
bos Posted September 24, 2016 Author Share Posted September 24, 2016 There are four plugins installed, but only three of them are active: All In One Shopping (... module that can calculate shipping based on the weight...) v1.0.8 Facebook (comments/like) v1.0.0 Paypal (payment gateway, DISABLED) v1.0.1 Print Order Form v1.0.1 Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 24, 2016 Share Posted September 24, 2016 The POF uses the Mailer - in this case, correctly. Still have no answer about the test failing (output buffering), but still the test email gets sent. I would like to work with you to troubleshoot this issue offline. If you want, send me a PM with your email address. Or, you can get a month's support from CubeCart and they will dig into it and find out why. Quote Link to comment Share on other sites More sharing options...
bos Posted September 24, 2016 Author Share Posted September 24, 2016 Alright. I have now sent you a PM. Quote Link to comment Share on other sites More sharing options...
Ggib Posted September 25, 2016 Share Posted September 25, 2016 Hi, We have got the same problem in that we are also no longer getting emails to notifify us that an order has been placed. We are also getting the same message as bos on testing the email. The output buffering is 4096 as expected but we also get New order and the language set as german(!) when looking at the Admin: order received email template Would be very interested to hear what the solution us and also why this has started happening. Thanks Quote Link to comment Share on other sites More sharing options...
Dirty Butter Posted September 25, 2016 Share Posted September 25, 2016 What CC version are you on, @Ggib? What language is set as default in Admin>Store Settings>General tab? Quote Link to comment Share on other sites More sharing options...
bsmither Posted September 25, 2016 Share Posted September 25, 2016 You said: "...no longer getting emails to notifify us that an order has been placed." You also said: "...but we also get New order...". These statements seem to contradict each other. In admin, Email Templates, what flags are there on the row for Admin: Order Received? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.