Amazon SESのメール受信を試す
メール受信をトリガーにやってみたいことがあったのでその前段。結構戸惑ったので基礎的な部分で時間をかなり使ってしまった。
ドメイン設定
まずはドメインの認証を実施します。SESv2の画面は英語しか提供されていないのは地味に不便。
SESでのメール受信方法のドキュメント
S3バケットを追加しておいて受信ルールを作る
なんだかスキャニング機能もついていそうに見える
受信時のアクションでS3に保存するようにする。ドキュメント通りのバケットポリシーだと作れないのでここからバケットを作るようにした。なぜできないのかは不明。作ろうとしてエラーになる
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSESPuts",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::BUCKET/*",
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "ACCOUNTID"
},
"StringLike": {
"AWS:SourceArn": "arn:aws:ses:*"
}
}
}
]
}
ルールをアクティブにして完了(?)作成されたS3バケットのルールは上記
ただ受信ができない。なんでか.
MXレコードが作れていなかった。MXあると思ったらどうやら別のやつだった。たぶんドメイン検証とかそういうの
10 inbound-smtp.regionInboundUrl.amazonaws.com
無事できた。
S3にも保存されている。
MXレコード設定ミスはエラーのリターンメールが帰らないので注意。単純にないだけなら返却されることもあるけれど。
暗号化はうまく行かない。デフォルトの指定ならできそうな書き方がされていたのに設定がいるのか。
よろしければサポートお願いします。プロデュース代になります