web-dev-qa-db-ja.com

メールを受信して​​S3バケットに保存しようとする

受信したメールをs3バケットに保存しようとしています。このチュートリアルと他の複数の手順を実行しました: https://docs.aws.Amazon.com/ses/latest/DeveloperGuide/receiveing-email-getting- started.html

私のMXレコードは私のmail.Domainに次のように設定されています:ドメインMX 10mail.domainドメインMX10に変更するとinbound-smtp.us-east-1.amazonaws.com

メールを受信できなくなり、メールが保存されません。

何が欠けているのか正確にはわかりませんか?誰か助けてください。

更新:Mluの回答をなんとか追跡し、私は現在、回答を得るための非常に近い段階にあります。唯一の問題は、AWS SESが受け入れないことですドメインの外部にある「FROM」が別の外部ドメインに到達しています。

たとえば、AがBにメールを送信し、BがメールをCに転送(リダイレクトのように見える)するため、CはBではなくAからメッセージを受け取ったことを確認します。つまり、AWS SESはこれを嫌い、次のようなエラーを表示します。

554メッセージが拒否されました:メールアドレスが確認されていません。次のIDは、リージョンUS-EAST-1でのチェックに失敗しました:OutsiderMail @ gmail.com、Jon Doe(DATAコマンドの終了への応答)。

2
logax

最初にいくつかのDNS /電子メールの背景-DNSにexample.comの複数のMXレコードがある場合でも、電子メールはサーバーの1つリストされています。通常、送信者は 最低優先度 で連絡しますが、両方に優先度1がある場合、送信者サーバーはランダムに1つを選択します。

mail.example.comからAWS SESの両方でメールを受信したい場合S3に保存するには、明示的に一方から他方にフィードする必要があります。

私たちのプロジェクトの1つで同様の設定があり、Postfix(つまり、mail.example.com)でメールを受信し、そこから always_bcc)を使用してSESに転送します。 後置構成ディレクティブ。

この場合、example.com MXレコードはmail.example.comのみを指し、SESは指しません。ただし、ses.example.cominbound-smtp.us-east-1.amazonaws.comを指すMXレコードであるというレコードもあります。次に、always_bcc = [email protected]、そして明らかにSESで、ドメインses.example.comを構成して、メールをS3に保存します。

必要に応じて、逆の方法でも実行できます。最初にSESで受信し、そこからS3に保存して、他のメールサーバーに転送します。

要するに、SESとメールサーバーの両方をリストするだけで、メールが両方に届くことを期待できるということです。明示的に一方を受け取り、もう一方に転送する必要があります。

それが役に立てば幸い:)

2
MLu