SES のバウンスと苦情の通知を Slack へ転送する「ses-feedback-to-slack」を公開しました

メール配信で見落としたくないのは、バウンス(送信失敗)と苦情(Complaint)です。 放置すると送信レピュテーションに影響しますが、AWS のコンソールを定期的に見に行く運用は続きにくいものです。 SES の通知を Slack へ転送する Lambda 関数を公開しました。

何をするツールか

SES の通知を SNS 経由で受け取り、バウンスと苦情を判別して Slack の Incoming Webhook に送信します。

構成は次のとおりです。

技術 用途
AWS Lambda (Ruby) メイン処理ロジック
AWS SNS SES の通知中継
Slack Incoming Webhook 通知送信先
AWS SAM デプロイ、ローカル実行、テスト
test-unit + mocha テストフレームワーク

SAM CLI を使うため、デプロイ前にローカルで実行して動作を確かめられます。

通知する対象

バウンスと苦情以外の通知はエラーになり、Slack には送られません。 対応が必要な2種類だけに絞ることを意図した挙動です。

設定

開発環境では .env.sample.json をコピーして .env.json を作り、Webhook URL と SHOW_RAW_JSON の2つを設定します。

{
  "Parameters": {
    "SLACK_WEBHOOK_URL": "https://hooks.slack.com/services/XXXX/YYYY/ZZZZ",
    "SHOW_RAW_JSON": "false"
  }
}

SHOW_RAW_JSONtrue にすると、SES から受け取った JSON をそのまま追加で出力します。 通知の中身を調べるときに使います。

本番環境では template.sample.yaml から template.yaml を作り、同じ2つの値を設定します。

CONTACT

フレイズに相談してみる

開発からデザインまで、構想段階からでも大丈夫です。
まずはお気軽にご相談ください。

[email protected]