0

I am trying to send email from ExpressionEngine using Amazon's Simple Email Service via SMTP and I can't get this working.

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html provides direction on how to connect. I configured EE3 outgoing email in the following way:

  • Server Address: email-smtp.us-east-1.amazonaws.com
  • Server Port: 587 (I've also tried 25)
  • Username: [my AWS-provided SMTP user credential]
  • Password: [my AWS-provided SMTP user credential]
  • Connection Type: STARTTLS (I've also tried SSL and unencrypted)

I've tried all of the port/connection combinations that I can think of. Some of them throw a PHP fsockopen() error. Other times no error is thrown and FreeForm shows a successful submission screen, but SES never got the request to send a message.

What is the correct way to configure EE to work with SES?

1 Answer 1

1

I know you're working with EE3, but I've got SES working successfully on all my production sites that run various flavours of EE 2 (2.8.1, 2.10.2). The settings you've listed above are exactly what I have setup in my email configuration.

I'm hoping that my config file should point you in the right direction. Perhaps the email_newline setting is what is missing from your local configuration?

/*
|--------------------------------------------------------------------------
| Amazon SES
|--------------------------------------------------------------------------
|
*/
$config['email_smtp_crypto'] = 'tls'; // TLS protocol - this needs to be added to each index.php
$config['email_newline'] = "\r\n";  // SES hangs with just \n

Other than that, it's most likely an Amazon SES configuration issue. When you first sign up to use the service, you are placed in a sandbox mode - meaning you can only send and receive from domains you have verified.

Have you verified the domains you are sending from and to?

1
  • Thank you for that. I ended up writing an extension to access SES' API since the SMTP route wasn't going my way.
    – Will Diaz
    Nov 21, 2017 at 20:05

Your Answer

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

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