E メールを配信したい場合
APP_ID= ADDRESS= aws pinpoint send-messages --application-id $APP_ID --message-request "{\"Addresses\":{\"$ADDRESS\":{\"ChannelType\":\"EMAIL\"}},\"MessageConfiguration\":{\"EmailMessage\":{\"SimpleEmail\":{\"TextPart\":{\"Data\":\"Hello\"},\"Subject\":{\"Data\":\"Test\"}}}}}" #=> 正常系のレスポンス { "MessageResponse": { "ApplicationId": "...", "RequestId": "...", "Result": { "example@example.com": { "DeliveryStatus": "SUCCESSFUL", "MessageId": "...", "StatusCode": 200, "StatusMessage": "..." } } } } ADDRESS=bounce@simulator.amazonses.com aws pinpoint send-messages --application-id $APP_ID --message-request "{\"Addresses\":{\"$ADDRESS\":{\"ChannelType\":\"EMAIL\"}},\"MessageConfiguration\":{\"EmailMessage\":{\"SimpleEmail\":{\"TextPart\":{\"Data\":\"Hello\"},\"Subject\":{\"Data\":\"Test\"}}}}}" # バウンス時のレスポンス { "MessageResponse": { "ApplicationId": "...", "RequestId": "...", "Result": { "bounce@simulator.amazonses.com": { "DeliveryStatus": "SUCCESSFUL", "MessageId": "...", "StatusCode": 200, "StatusMessage": "..." } } } }
CloudTrail supported services and integrations - AWS CloudTrail にて各サービスの CloudTrail 記録対象の API を確認可能
see: Amazon SES API を使用して raw E メールを送信する - Amazon Simple Email Service
下記のように payload.txt
に添付したいファイルを Base64 エンコーディングした内容を含む形で配置し、send-email コマンドで送信する
$ cat payload.txt From: Sender <sender@example.com> To: Recipient<recipient@example.com> Subject: Test Message Content-Type: multipart/mixed; boundary=hogefuga --hogefuga Content-Type: text/html; charset="UTF-8" <p>Hello.</p> --hogefuga Content-Type: text/plain; name="sample.txt" Content-Description: sample.txt Content-Disposition: attachment;filename="sample.txt"; creation-date="Sat, 05 Aug 2017 19:35:36 GMT"; Content-Transfer-Encoding: base64 aGVsbG8K --hogefuga-- $ DEST=test@example.com $ aws pinpoint-email send-email --destination $DEST --content "{\"Raw\":{\"Data\":\"$(base64 -i ./payload.txt)\"}}"
ひとつの構成として Amazon Pinpoint を使った Web Push 通知の送信方法 に記載のとおり FCM と Amazon Pinpoint を連携する仕組みが考えられる
see also: Web Push | moritalous blog