flaskアプリケーションで、CeleryとRabbitMQを使用してメールを送信する(gmailを使用)アプリケーション用のメールサービスを作成しました。セロリのコンシューマとプロデューサは通信できましたが、送信メールを送信できません。socket.error:[Errno 101]ネットワークに到達できません。
これは、AWSがポート587をブロックしていることを意味します-私のセキュリティグループでは、ポート587と25(インバウンドとアウトバウンド)の両方を開きましたが。
これが起こっている理由は何ですか?どんな助けも高く評価されます。
awsファイアウォールラッパーがtcp/587を拒否している場合、ec2 apiツールを使用して開くことができます。
ec2-authorize [sec-group-id] -P tcp -p 587 -s 0.0.0.0/0
すでにこれを開いているようですが。確認、実行
ec2-describe-group [sec-group-id]
icmpが応答しない場合は、次の方法で開くことができます。
ec2-authorize [sec-group-id] -P icmp -t -1:-1 -s [your-public-ip]/32
Gmail SMTPサービスを使用してAWS EC2からメールを送信するには、以下の手順に従ってください。
インスタンスの受信ルールを設定する必要があります
その後、AWS EC2から587 SMTPポートを使用してメールを送信できます。
この記事を読んでください。 https://support.google.com/accounts/answer/6010255?hl=ja