I've noticed a few problems with Emails not being sent to Exchange addresses via php mail. First I noticed this when using FreeForm. I didn't notice anything out of the ordinary while testing to my gmail account. Forms was successful and I received the emails.

But then the customer said they hadn't received any emails. So I checked it out and added my own Gmail address to the recipients. And I did receive the emails while testing. But the customer did not. Even though both our addresses were set as recipients.

So I narrowed it down to the customer's email being an Exchange address. As a temporary solution, I added the customer's gmail address as recipient. And that works. And since Freeform stores each submitted form on it's own, I had a record of every form.

But now we have the same problem on a different site with Expression Engine's own Form. And not freeform. And we have no record of the forms that's been sent. And the customer is not very happy.

Does this mean that we need to stop using php mail in Email settings in Expression Engine? And specify an smtp server by default?

1 Answer 1


safest bet would be to use a service such as sendgrid. Mail sent from hosting servers has a tendency to be either blocked or marked as spam by conservative services such as exchange

  • I see, but would that even be a problem if I specify the customer's own smtp server in Expression Engine email settings? Dec 9, 2014 at 13:18
  • Guess the clients own smtp could work. it gave me some headaches in the past so i'm sticking to sendgrid these days Dec 9, 2014 at 13:23
  • So that works as an external mail service? That you specify in Expression Engine's mail settings? Are you still using php mail? Dec 9, 2014 at 13:28
  • yes it works as an external email service. you can define it in the settings indeed. not sure if you're still using phpmail this way Dec 9, 2014 at 13:33
  • I'll have to look into this. But it'a a shame that we've relied on Expression Engine to do this. And with no warning that it might fail.. And with the form even returning successful, which in turn trigger Google analytics to register the request. Dec 9, 2014 at 13:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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