amazon web services - que - Se agotó el tiempo de espera de la conexión Amazon SES SMTP
ses aws api (4)
He intentado configurar una notificación por correo electrónico para mi aplicación mediante Sendmail junto con SES en CentOS 6.5. Según el documento de AWS, he configurado sendmail con SES,
El maillog dice:
sendmail[29711]: s2QFCjnu027924: to=<[email protected]>, 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
Todos los correos se están agregando en mailq
# sendmail -v -q
Running /var/spool/mqueue/s2QFueiS001965 (sequence 1 of 21)
<[email protected]> Connecting to email-smtp.us-east-1.amazonaws.com port 25 via relay.
^C
Además, no puedo hacer telnet a la dirección SMTP,
# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 23.21.252.142...
^C
Pero nmap muestra que el puerto smtp (25) está abierto y escuchando
# 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
salida netstat,
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 29708/sendmail
He intentado con la región de la UE smtp email-smtp.eu-west-1.amazonaws.com
también, obteniendo el mismo resultado.
No hay selinux e iptables corriendo y las reglas del grupo de seguridad están bien con EC2.
Cualquier ayuda sería muy apreciada !!
- Cuando envíe un correo de prueba como
sudo /usr/sbin/sendmail -f [email protected] [email protected]
, el correo se entregará al sendmail que se ejecuta en su instancia. - cuando sendmail intentó entregar el correo al
SMART_HOST
que esemail-smtp.us-east-1.amazonaws.com
, no pudo conectarse aemail-smtp.us-east-1.amazonaws.com
y el correo electrónico seemail-smtp.us-east-1.amazonaws.com
colocado en ladeferred queue
para volver a intentar más tarde.
Entonces, el problema es que su instancia de sendmail no pudo hablar con email-smtp.us-east-1.amazonaws.com
.
- ¿Hay algún problema de red en su instancia?
- Además, el documento dice que debe completar la Solicitud para eliminar las limitaciones de envío de correo electrónico para eliminar algunas restricciones en el puerto
25
Gracias Clement por tu ayuda.
Me di cuenta el problema. era vpc subnet routing
problema de vpc subnet routing
con la instancia.
Ahora funciona como un encanto :-)
Estaba teniendo problemas con el tiempo de espera también. No tenía ninguna ruta de subred vpc, ya que thiyagu114 decía que era su problema, y ninguna de las sugerencias de clement ayudaba.
Encontrado esto en la información de Amazon:
Importante Elastic Compute Cloud (EC2) acelera el tráfico de correo electrónico a través del puerto 25 de forma predeterminada. Para evitar tiempos de espera al enviar correos electrónicos a través del punto final SMTP desde EC2, use un puerto diferente (587 o 2587) o complete una Solicitud para eliminar las limitaciones de envío de correo electrónico para eliminar el acelerador.
Así que cambiar el puerto 25 al 587 solucionó el problema del tiempo de espera.
Si está utilizando AWS SES como retransmisor, debe tener esta configuración:
Editar main.cf:
...
relayhost = email-smtp.${aws_region}.amazonaws.com:587
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_security_level = encrypt
smtp_tls_note_starttls_offer = yes
...
Editar / etc / postfix / sasl_passwd
email-smtp.${aws_region}.amazonaws.com:587 SMTP_USERNAME:SMTP_PASSWORD
Editar / etc / postfix / transporte
* smtp:email-smtp.${aws_region}.amazonaws.com:587
Preste atención a que debe especificar el puerto en todos los lugares, incluso en el transporte.
ejecutar postmap
postmap /etc/postfix/sasl_passwd /etc/postfix/transport
reiniciar postfix
service postfix restart
Y funcionará. El resto de la configuración que puede encontrar en http://docs.aws.amazon.com/ses/latest/DeveloperGuide/postfix.html