SendGrid の設定および動作確認方法を備忘録として残しておく
前提
- 2024/4/1 以降の新しい方式
- Domain Authentication
- DNS: Amazon Route 53
実際の手順
-
SendGrid 管理画面にて API Key を作成
-
SendGrid 管理画面にて Domain Authentication の設定を行う
Domain Authentication(SPF/DKIM設定)
-
テストメールを送信して動作確認を行う
-
メールテンプレートを作成
-
メールテンプレートを使用した動作確認を行う
Curl での動作確認
テンプレートなし
[構文]
curl -X POST https://api.sendgrid.com/v3/mail/send \
-d "JSONデータを指定" \
-H "Authorization: Bearer <<API Key>>" \
-H "Content-Type: application/json"
[JSON データ]
VS Code を使用している場合は JSON Parse & Stringify を使用すると JSON の Parse & Stringify が容易のため推奨
{
"personalizations": [
{
"to": [
{
"email": "<<送信先メールアドレス>>"
}
],
"subject": "<<件名>>"
}
],
"from": {
"email": "<<送信元メールアドレス>>"
},
"content": [
{
"type": "text/plain",
"value": "<<本文>>"
}
]
}
テンプレートあり
[構文]
curl -X POST https://api.sendgrid.com/v3/mail/send \
-d "JSONデータを指定" \
-H "Authorization: Bearer <<API Key>>" \
-H "Content-Type: application/json"
[JSON データ]
- VS Code を使用している場合は JSON Parse & Stringify を使用すると JSON の Parse & Stringify が容易のため推奨
- dynamic_template_data 配下にパラメータを渡す
- 手順4 のコードエディタ上では dynamic_template_data 配下のみを指定するため注意
{
"personalizations": [
{
"to": [
{
"email": "<<送信先メールアドレス>>"
}
],
"dynamic_template_data": {
"user_name": "ユーザ名"
}
}
],
"template_id": "<<テンプレート ID>>",
"from": {
"email": "<<送信元メールアドレス>>"
}
}
返信不可メールについて
今回は不要だったが返信不可メールについて対応が必要な場合は以下を参考にする
返信不可メールのベストプラクティス