4

On my E-commerce (CE 1.7), transaction emails work such as Newsletter, share with a friend, etc…

When a shopper places an order, the admins receive the order confirmation, but the shopper doesn’t.

Also when an admin writes a comment about the order and shares it with the shopper, the shopper still doesn’t receive the order.

In Configuration -> Sales emails -> I have enabled all the options.

I am at a loss, does anyone know a solution order method for tracking where the error might come from?

Thanks.!

5 Answers 5

10
+50

I maybe have an idea. If this is the problem I'm thinking of, it's not a problem of Magento.

Sometimes, a customer wants a shop, but also already has a homepage for his domain. For sending emails from a domain, when you register a domain, you usually get a mailserver that's responsible for this specific domain. This "being responsible for a domain" can be checked. Open the supertool and use mx:anydomain.com. This will show you the mailserver that's responsible for this domain.

Now, Magento supports sending mail only through a local MTA (mail transfer agent, basically the program that takes the mail and contacts the servers to pass them along). Now imagine that the customer has in Magento configured his mails to be sent from myshop@customerdomain.com. Now customerdomain.com already has a mailserver that is responsible for it, which you can check with supertool.

What now happens: The magento servers MTA takes the mail and connects to the mailserver where the mail should go (the domain from the "to:" address). However, there's a mechanism that the destination server can (and most of the time does) use to determine if the server he's talking to (the magento server) is allowed to send mails from that address (customerdomain.com): The also checks what you check with supertool. Then he compares who he is talking to to who is responsible for the domain of the from: address. And if these two don't match, we have a problem.

3 things can happen, and I know of instances of all 3 happening:

  • The mail gets delivered.
  • The mail gets delivered, but sent to the SPAM folder.
  • The mail gets rejected or dropped.

If your MTA is good, you might find information about what happened with the mail in your system logs (/var/log/mail*). If what I described here is the case, you can add a module that supports sending of Magento mails via external mail server.

4
  • So the SMTP domain we use for sending emails right now is smtp.gmail.com. We use Google Apps for the emails. I have installed an extension called SMTP Configuration from Magento Connect. Maybe the problem could be related to the extension?
    – Zedrian
    Mar 31, 2014 at 8:22
  • So it was the SMTP module I was using that was causing the bug. Lesti SMTP solved it. Thank you very much!
    – Zedrian
    Mar 31, 2014 at 9:06
  • nice explanation and good breakdown of the mechanics
    – pzirkind
    Sep 23, 2014 at 18:25
  • This can happen with even later versions of Magento : magento.stackexchange.com/questions/7220/… Apr 24, 2015 at 21:00
4

Definitely check your exception.log file (and perhaps the system.log file)

This can be located in the var/log directory. Also make sure that logging is enabled before doing so:

System > Configuration > Developer > Log Settings

That should at least point you in the right direction.

P.S: Tell me this, were these transactional emails ever working (i.e also being emailed to the customer)?

1
  • Sorry for the late reply. So I enabled the log settings. I get a bunch of errors in system.log about cookies before and during checkout, but nothing about emails. I don't have any exception.log file. Maybe it could be in the var/report folder? Transactional Emails such as "Newsletter subscription, or share with a friend" work for the customer.
    – Zedrian
    Mar 31, 2014 at 8:13
2

There are many answers but none worked for me, How i solved is that, check that if your default template setup are three in the magento or not.sometimes during installation its lost and actually "there is no email template by default in system to send you email".

Please go to Admin side, System->Transactional Email->by default you will find np template here.So add by clicking on button 'Add new Email templete ' .In ' Load default template' panel select a template from the Template dropdown suppose forgot Password and click and click 'Load Template'. As earlier said no email template is associated with it so it will not be show in below. The best thing is to go to install a fresh copy of magento in your local system navigate here and put that same content here and click Save Template button. Then go to

System->Configuration->Customer Configuration ->Password Options->

Change the 'Forgot Email Template' dropdown to yours as added above .Happy . thus same thing you can also do for order ,shipment,new Account etc.

0
1

This happened recently to one of our clients. They had switched to Google apps for mail away from proprietary. The host had to make a change to disable 'local delivery'.

1

Sometimes, things are easier than you think :-) A wrong configuration may be the problem. Go to System > Configuration > Sales Emails > Invoice and check that the "Enabled" field is set to "Yes" - in my case, it was set to "No", which prevents the invoice mail from being sent.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.