(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【AWS】awsコマンドを用いてSNSでメールを送付する

スポンサーリンク

やりたいこと

awscliを利用してメールを送付する。

環境情報
$ aws --version
aws-cli/2.15.23 Python/3.11.6 ...

やり方

トピックを作成し、そのトピックに紐づくサブスクリプションを宛先メールアドレスと共に設定。

作成したトピックのARNを引数に以下のように指定をしてコマンドを押下すると

$ aws sns publish --topic-arn "arn:aws:sns:ap-northeast-1:xx:xx"  --message "Test"

メッセージが送付される。

{
    "MessageId": "xx"
}

届いた電子メールは以下。

From: no-reply@sns.amazonaws.com
Sent: Friday, December xx, 2024 5:31 AM
To:  xx@xx
Subject: AWS Notification Message

Test

以下、補足です。

補足

トピックの作成時にトピック名を付与しますが、これが送信元の表示名として出てきます。

続いて作成するサブスクリプションにはエンドポイント(Endpoint)としてメールアドレスを登録し、そのメールアドレスにて事前の本人確認がありました。これに成功すると以下のような画面が出た後にメール送付が可能となります。

Subscription confirmed!
You have successfully subscribed.

尚、メール送信コマンドを押下するも権限がない場合は以下のようなエラーとなるためご注意ください。

An error occurred (AuthorizationError) when calling the Publish operation: User: xx is not authorized to perform: SNS:Publish on resource: xx because no identity-based policy allows the SNS:Publish action

以上、ご参考になれば幸いです。