Search code examples
amazon-web-servicessmtpsendmailamazon-ses

Amazon SES SMTP Connection timed out


I have been trying to set up an email notification for my application using Sendmail along with SES on CentOS 6.5. As per AWS document, I have configured sendmail with SES,

The maillog says,

sendmail[29711]: s2QFCjnu027924: to=<abc@edf.com>, delay=00:52:09, xdelay=00:08:00, mailer=relay, pri=210717, relay=email-smtp.us-east-1.amazonaws.com [107.20.142.169], dsn=4.0.0, stat=Deferred: Connection timed out with email-smtp.us-east-1.amazonaws.com

All mails are being added in mailq

# sendmail -v -q
Running /var/spool/mqueue/s2QFueiS001965 (sequence 1 of 21)
<abc@edf.com> Connecting to email-smtp.us-east-1.amazonaws.com port 25 via relay.
^C

Also, I unable to do telnet to the smtp address,

# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 23.21.252.142...
^C

But nmap shows port smtp (25) is open and listening,

# nmap -p 25 localhost

Starting Nmap 5.51 ( http://nmap.org ) at 2014-03-26 17:09 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000080s latency).
PORT   STATE SERVICE
25/tcp open  smtp

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

netstat output,

tcp   0    0 0.0.0.0:25   0.0.0.0:*  LISTEN      29708/sendmail

I have tried with EU region smtp email-smtp.eu-west-1.amazonaws.com as well, getting the same result.

There is no selinux and iptables running and security group rules are fine with EC2.

Any help would be highly appreciated !!


Solution

    • When you are sending a test mail as sudo /usr/sbin/sendmail -f from@example.com to@example.com, the mail is handed over to the sendmail running on your instance.
    • when sendmail tried to deliver the mail to the SMART_HOST which is email-smtp.us-east-1.amazonaws.com, it wasnt able to connect to email-smtp.us-east-1.amazonaws.com and so the email was placed in the deferred queue for retrying later.

    So the problem is that your sendmail instance wasnt able to talk to email-smtp.us-east-1.amazonaws.com.