概要
サンドボックス状態のAWS SESからのメール送信先として、Slackチャンネル宛のメールアドレスを登録しようとしたがうまくいかなかった、という記録です。
経緯
とある新規サービス立ち上げの際、Eメール送信にAWS SES(Simple Email Service, 以降SES)を利用することにしました。
SESは不正利用防止のため、初期状態では機能制限がかかっています。
https://docs.aws.amazon.com/ja_jp/ses/latest/dg/request-production-access.html
不正使用や悪用を防止し、送信者としての評価を保つため、新しい Amazon SES アカウントには一定の制限が適用されます。
すべての新しいアカウントが Amazon SES サンドボックスに配置されます。
...
Eメールの送信先は、検証済み Eメールアドレスおよびドメイン、または Amazon SES メールボックスシミュレーターに制限されます。
...
今回は、サンドボックス解除申請と並行してサーバアプリケーション側からのメール送信機能テストを行うこととなったため、SESから送信されたメールを受信するためのメールアドレスを準備する必要がありました。
会社のメールアドレスやフリーのメールアドレスを個人で取得することも考えましたが、
- 受信内容を安全にチーム内で共有
- チームメンバーの変動にも高度な柔軟性を維持
できるとうれしいな、と思い方法を検討したところ、Slackチャンネルをメール受信先として設定して利用できないかと思い至りました。
Slackチャンネルに直接メール送信するメリット
- Slackチャンネルに紐づくメールアドレスは簡単に発行可能
- 参考: Slack にメールを送信する
- Slackチャンネル側で受信メールにアクセス可能な人をコントロール可能
- チャンネルへの招待=テストメール受信者への追加
- 使わなくなったらチャンネルをcloseすれば良い
- 元々社内でSlackは導入済みなので追加費用なし
結果
できませんでした。
没理由
SESからSlackチャンネル宛メールアドレスに送った検証用メールがなぜか届きませんでした。
検証メールが届かない
=> SESの送信許可リストに追加できない
=> 没
memo:検証メール受信に向けた足掻きと確認
- SESのコンソール上から再送信 => 不達
- 到達遅れているだけかも
- => 1時間以上待ってみたがやはり来なかった
- SES側の設定を間違えているのかも
- 自身の社用メールアカウント(=Gmail)宛を同様の操作でSESに登録したところ、すぐに検証用メールが届き、メール内の案内に従った操作で検証に成功
- そもそもSlackチャンネル側の設定がおかしいのかも
- 自身の社用メールアカウント(=Gmail) から送ったSlackチャンネル宛のメールは届いた
- 元々 private channel 向けのメールアドレスを宛先に指定していたので、念の為 public channel 宛のメールアドレスも試してみたが、やはりダメ(不達)
なお、SES, Slack双方でメール送受信情報にアクセスできないため、実際にどこでDropしたのか調査もできませんでした。
その他確認事項
一応、サンドボックス解除申請が通った後であれば、メール受信検証をしていない宛先にも送信できるので、Slackチャンネル宛メールアドレスにSESからメール送信することは可能でした。
(なぜ検証メールだけは届かないのか...)