2021年7月15日木曜日

boto3を使ってAmazon SNSからメールを送ります。

sendMailToMe という名前でトピックを作っていて、自分のメールアドレスを設定しています。トピックのARNをあとで使います。

Python側のコードはこうなります。
import boto3

client = boto3.client('sns')

topic_arn = 'arn:aws:sns:region:accountID:sendMailToMe'
message = 'Hello from boto3'
subject = 'boto3'

response = client.publish(
    TopicArn=topic_arn,
    Message=message,
    Subject=subject,
)

このようなメールが届きます(gmailで受信)



題名はsubject、本文はmessageに対応しています。 ※受信メールの差出人に相当するDisplay nameはSNSトピックでの設定項目ですが、このときはDescriptionと間違えて説明を書いてしまっています。

SNSから届く文面は変えられないらしい

変更できません。今の場合、accountID、region、endpointの情報は見えてしまうことになります。日本語にするのも不可のようです。

URLをクリックして購読停止をさせないようにする

購読停止用のアドレスを消せないので、せめて押しても停止できないようにします。
CLIのconfirm_subscription()アクションでAuthenticateOnUnsubscribe を trueにする。

https://aws.amazon.com/jp/premiumsupport/knowledge-center/prevent-unsubscribe-all-sns-topic/

ほぼ同じ内容の紹介
https://recipe.kc-cloud.jp/archives/4847
https://dev.classmethod.jp/articles/amazon-sns-disable-unsubscribe-link/
https://blog.serverworks.co.jp/sns-remove-unsubscribe-link

0 件のコメント:

コメントを投稿