📧
TeamsチャネルのメールアドレスにAmazon SESからのメール投稿が反映されない時に確認すること
Teams側
「誰でもこのメールアドレスに電子メールを送信できます」を設定しているか
Microsoft Teams でチャネルにメールを送信できるユーザーを管理する - Microsoft サポート
Amazon SES側
「カスタムMAIL FROMドメイン」を設定しているか
おまけ(Node.js 20.xでLambdaからメール配信する設定)
- Lambda と Amazon SES を使用して E メールを送信する | AWS re:Post
- Creating and verifying identities in Amazon SES - Amazon Simple Email Service
- Amazon SES サンドボックス外への移動 - Amazon Simple Email Service
SES
前提:Route53で管理されているドメインのメールアドレス
IDの作成
- 検証済みID => IDの作成
- IDタイプ:ドメイン
IDの検証
- IDを作成するとステータスが「検証保留中」になり、自動で「検証済み」になりました
- Route53にCNAMEが勝手に登録されてました
アカウント用に本番アクセスをリクエスト
Lambda
ソース
import { SESClient, SendEmailCommand } from "@aws-sdk/client-ses";
const ses = new SESClient({ region: "ap-northeast-1" });
export const handler = async (event) => {
const command = new SendEmailCommand({
Destination: {
ToAddresses: ['to@hoge.com'],
},
Message: {
Body: {
Text: { Data: 'body' },
},
Subject: { Data: 'subject' },
},
Source: 'from@sub.hoge.com',
});
try {
let response = await ses.send(command);
return response;
}
catch (error) {
console.log(error);
// error handling.
}
finally {
// finally.
}
};
ロール
- SES用のロールを設定
IAM
ロール
- SES用のロールを作成
ポリシー
- 以下のポリシーを新規作成し、ロールにアタッチする
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
Discussion