Comment résoudre les problèmes de connectivité SMTP ou d'expiration de délai avec Amazon SES ?

Dernière mise à jour : 23/04/2020

Mon protocole SMTP (Simple Mail Transfer Protocol) Amazon SES (Simple Email Service) renvoie une expiration de délai. Comment résoudre les problèmes SMTP ou de dépassement de délai avec Amazon SES ? 

Brève description

L'expiration du délai de connexion indique généralement que votre client n'est pas en mesure d'établir une connexion TCP avec le point de terminaison public Amazon SES. Pour résoudre les erreurs de connectivité SMTP ou de délai d'expiration avec Amazon SES, vous devez corriger les problèmes suivants :

1.    Résolvez les problèmes liés à la connexion TCP de l'application.

2.    Si la connexion TCP aboutit, résolvez les problèmes de négociation SSL/TLS.

Important : Amazon Elastic Compute Cloud (Amazon EC2) limite par défaut le trafic sortant d'Amazon Virtual Private Cloud (Amazon VPC) sur le port 25 pour toutes les instances EC2. Si votre application requiert du trafic sur le port SMTP 25, vous pouvez demander la suppression de cette restriction.

Solution

Résoudre les problèmes de connexion TCP de l'application

1.    Exécutez les commandes telnet ou netcat (nc), comme dans l'exemple suivant :

Remarque : veillez à remplacer le point de terminaison régional par le point de terminaison Amazon SES que vous utilisez.

telnet email-smtp.us-east-1.amazonaws.com 587
telnet email-smtp.us-east-1.amazonaws.com 25
telnet email-smtp.us-east-1.amazonaws.com 465
nc -vz email-smtp.us-east-1.amazonaws.com 587
nc -vz email-smtp.us-east-1.amazonaws.com 25
nc -vz email-smtp.us-east-1.amazonaws.com 465

2.    Notez la sortie. Par exemple, si la connexion aboutit, la commande telnet renvoie une sortie similaire à ce qui suit :

Trying 35.170.126.22...
Connected to email-smtp.us-east-1.amazonaws.com.
Escape character is '^]'.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-A12BCD3EF example0mJncW410pSau

Si la connexion expire, la commande telnet renvoie une sortie similaire à ce qui suit :

Trying 18.232.32.150...
telnet: connect to address 18.232.32.150: Connection timed out

3.    Si la connexion expire, vérifiez que vos règles de pare-feu local, vos routes et vos listes de contrôle d'accès (ACL) autorisent le trafic sur le port SMTP que vous utilisez. De plus, vérifiez que votre application d'envoi a accès à Internet.

Par exemple, si vous utilisez une instance Amazon EC2 pour envoyer des e-mails et vous connecter au point de terminaison SMTP, procédez comme suit :

Résoudre les problèmes liés aux négociations SSL/TLS

Si vous rencontrez toujours des problèmes de connectivité ou d'expiration après la résolution des problèmes de connexion TCP, vérifiez qu'il existe des problèmes liés à SSL/TLS.

1.    Depuis une instance Linux Amazon EC2, exécutez la commande openssl comme suit :

Remarque : veillez à remplacer le point de terminaison par le point de terminaison Amazon SES que vous utilisez.

openssl s_client -crlf -connect email-smtp.us-east-1.amazonaws.com:465 
openssl s_client -crlf -starttls smtp -connect email-smtp.us-east-1.amazonaws.com:587

Remarque : si l'emplacement du fichier de groupement de l'autorité de certification (CA) par défaut a été modifié, vous pouvez rencontrer des problèmes lors de l'exécution de ces commandes.

2.    Notez la sortie. Les réponses attendues sont SMTP 220 et SMTP 250.

3.    Si vous n'obtenez pas la sortie attendue procédez comme suit :

  • Vérifiez que le magasin de certificats SSL/TLS est configuré correctement.
  • Vérifiez que votre application d'envoi dispose du chemin d'accès correct au certificat.
  • Vérifiez que le certificat Amazon SES est installé sur votre serveur.

Remarque : pour les instructions sur le test de l'installation des certificats appropriés, consultez la section À propos des certificats dans À propos de la migration d'Amazon Trust Services.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?