AmazonSNS でSMSを送信することができる。
SDKを使って送信する方法について記載する。
Amazon SNS message publishing - Amazon Simple Notification Service
マネコンから送信する方法についてはドキュメント参照
制限
1メッセージあたり140バイトまでという制限があり、これはエンコードごとに以下のような文字数になる。
- GMS 160文字
- ASCII 140文字
- UCS-2 70文字
この制限文字数を超えるメッセージはSNSが分割して送信する。機械的に140バイトで分割するのではなくて単語で区切ってくれるみたいだが、日本語は対応してない気がする。これも合計で1600バイトが制限となっている
電話番号の形式
電話番号は E.164形式 で指定する。
+818012123434
のように国際番号+先頭の0を除いた番号となる
aws-sdk-goで実装
Publishing to a mobile phone - Amazon Simple Notification Service
実装例に Go がないので書いてみる
attributeを指定する
送信者ID(SenderID)や送信者番号(OriginationNumber) など、コンソールから指定できる値はSDKでも指定できる。
MessageAttributes
フィールドに指定するとよい。
AWS.SNS.SMS.SMSType
: Promotional
か Transactional
を指定可能