Таймаут SMTP Amazon EC2 / SES

У меня возникла проблема при попытке отправить электронную почту из моего экземпляра EC2 с использованием SMTP в SES. По какой-то причине у меня возникают спорадические проблемы тайм-аута, когда я больше не могу связаться с узлом SMTP. Важно отметить, что отправка через SES работает, вероятно, в 75% случаев.

Я начну с некоторых деталей. Моя учетная запись SES работаетmost времени. Электронная почта отправителя была подтверждена, и мои лимиты были увеличены до 10 тыс. В день, 5 электронных писем в секунду. У меня сложилось впечатление, что я получу ошибку, связанную с определенным лимитом, если это будет связано с моими лимитами. Для конфигурации SMTP я использую posfix с TLS. Я опубликовал очень похожий пост на официальных форумах AWS SES, но пока не добился успеха. Информация для этого поста находится внизу этого поста.

Вот пример отказа от этого утра. Все команды, которые я запускал ниже, были запущены из экземпляра EC2, с которого я пытаюсь отправить почту. Извините за пост размером с роман, я просто хочу убедиться, что я включил все.

Письмо, которое я отправил себе, не было доставлено:

Jun 25 06:16:36 intranet01 postfix/smtp18832: 9E00C230DA: to=<myemailaddress>, relay=none, delay=150, delays=0.02/0.01/150/0, dsn=4.4.1, status=deferred (connect to email-smtp.us-east-1.amazonaws.comhttp://107.22.187.122:25: Connection timed out)

И когда я увидел сбой, я попытался подключиться к хосту электронной почты через порт 25. Я не смог подключиться:

root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25  
Trying 174.129.28.151...  
^C

Через несколько минут мое отложенное письмо наконец прошло:

Jun 25 06:23:14 intranet01 postfix/smtp18861: 9E00C230DA: to=<myemailaddress>, relay=email-smtp.us-east-1.amazonaws.comhttp://184.73.218.23:25, delay=548, delays=548/0.02/0.21/0.36, dsn=2.0.0, status=sent (250 Ok 0000013823cf7441-83710873-e946-4c80-8a54-0dd72bae6f30-000000)
Jun 25 06:23:14 intranet01 postfix/qmgr3972: 9E00C230DA: removed

И теперь я могу подключиться к порту 25:

root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25  
Trying 107.20.152.208...  
Connected to email-smtp.us-east-1.amazonaws.com.  
Escape character is '^]'.  
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-222567251  
^]

Я решил посмотреть на конечную точку хоста SES. Оказывается, это просто имя ELB c записями A, которые указывают на интерфейсы в нескольких AZ.

root@intranet01 sbin# dig email-smtp.us-east-1.amazonaws.com  

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.17.amzn1 <<>> email-smtp.us-east-1.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8592
;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:  
;email-smtp.us-east-1.amazonaws.com. IN A  

;; ANSWER SECTION:  
email-smtp.us-east-1.amazonaws.com. 54 IN CNAME ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com.  
ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com. 60 IN A 174.129.200.82  
ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com. 60 IN A 184.73.219.75  
ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com. 60 IN A 107.20.152.208  
ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com. 60 IN A 107.20.160.81  
ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com. 60 IN A 107.20.203.50  
ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com. 60 IN A 107.22.229.233 
ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com. 60 IN A 174.129.6.189  
ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com. 60 IN A 174.129.28.151

Я попытался отправить другое сообщение, и это не удалось. На этот раз я перебрал все адреса записей A, которые вернуло имя SES. Я не мог подключиться ни к одному из них. В течение этого времени я также пытался подключиться с моей локальной машины (не с моего экземпляра EC2), и это работало просто отлично.

root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 174.129.28.151...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 174.129.6.189...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 107.22.229.233...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 107.20.203.50...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 107.20.160.81...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 107.20.152.208...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 184.73.219.75...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 174.129.200.82...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 174.129.28.151...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 174.129.6.189...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 107.22.229.233...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 107.20.203.50...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 107.20.179.13...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 107.20.160.81...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 184.73.219.75...
^C
root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 174.129.200.82...
^C

После ожидания около 30 секунд я попробовал еще раз, на этот раз это сработало.

root@intranet01 sbin# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 174.129.28.151...
Connected to email-smtp.us-east-1.amazonaws.com.
Escape character is '^]'.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-222567251
^C^[
^]

telnet>

Как я уже говорил ранее, я разместил очень похожий пост на форуме AWS SES. Пост можно найти ниже.

https://forums.aws.amazon.com/thread.jspa?threadID=97736&tstart=0

Кроме того, похоже, что я не одинок, так как я нашел этот другой пост на форуме SES, похоже, такая же проблема.

https://forums.aws.amazon.com/thread.jspa?threadID=91260&tstart=0

Я подумал, что может быть какое-то ограничение SMTP в EC2, поэтому я заполнил «отправку электронной почты из EC2». форма запроса, но она кажется мне глупой, поскольку я пользуюсь сервисом Amazon, а не сторонней организацией. До сих пор я не слышал ничего от Amazon после заполнения формы.

У кого-нибудь есть какие-либо идеи? Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос