web-dev-qa-db-ja.com

EC2インスタンスからポート587でメールを送信できません

flaskアプリケーションで、CeleryとRabbitMQを使用してメールを送信する(gmailを使用)アプリケーション用のメールサービスを作成しました。セロリのコンシューマとプロデューサは通信できましたが、送信メールを送信できません。socket.error:[Errno 101]ネットワークに到達できません。

これは、AWSがポート587をブロックしていることを意味します-私のセキュリティグループでは、ポート587と25(インバウンドとアウトバウンド)の両方を開きましたが。

これが起こっている理由は何ですか?どんな助けも高く評価されます。

4
Tahsin Mostafiz

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

2
nandoP

Gmail SMTPサービスを使用してAWS EC2からメールを送信するには、以下の手順に従ってください。

  1. EC2インスタンスのセキュリティグループを編集します。
  2. セキュリティグループのインバウンドルールを編集します。
  3. インバウンドルールに587ポートを追加します。下の画像を参照してください。

enter image description here

インスタンスの受信ルールを設定する必要があります

その後、AWS EC2から587 SMTPポートを使用してメールを送信できます。

この記事を読んでください。 https://support.google.com/accounts/answer/6010255?hl=ja

https://myaccount.google.com/lesssecureapps

2
Krupal Patel