Impossible d'envoyer un courrier électronique de l'instance EC2 sur le port 587

J'ai écrit un service de messagerie pour notre application de flask qui utilise Celery et RabbitMQ pour envoyer des courriels (à l'aide de Gmail). J'ai le consommateur de céleris et le producteur en train de communiquer, mais je ne peux pas envoyer d'envoyer des emails. Je reçois un socket.error: [Errno 101] Le réseau est inaccessible.

Je pense que cela signifie que AWS bloque le port 587 – même si dans mon groupe de security j'ai ouvert les deux ports 587 et 25 (entrants et sortants).

Une raison pour laquelle cela se produit? Toute aide sera grandement appréciée.

Si l'enveloppe de firewall aws nie tcp / 587 au monde, elle peut être ouverte à l'aide des outils ec2 api:

ec2-authorize [sec-group-id] -P tcp -p 587 -s 0.0.0.0/0

bien qu'il semble que vous avez déjà ouvert cela. vérifier, exécuter

ec2-décrire-groupe [sec-group-id]

concernant icmp ne répondant pas, vous pouvez l'ouvrir par:

ec2-authorize [sec-group-id] -P icmp -t -1: -1 -s [votre-public-ip] / 32

Pour envoyer un courrier électronique d'AWS EC2 à l'aide du service SMTP Gmail, suivez les étapes ci-dessous.

  1. Modifier le groupe de security de votre instance EC2.
  2. Modifier les règles entrantes du groupe de security.
  3. Ajouter le port 587 dans les règles entrantes. Voir l'image ci-dessous.

entrez la description de l'image ici

vous devez définir vos règles entrantes d'instance

Après cela, vous pouvez envoyer un courrier électronique à l'aide du port SMTP 587 d'AWS EC2.

Veuillez lire cet article. https://support.google.com/accounts/answer/6010255?hl=fr

https://myaccount.google.com/lesssecureapps