SendGridを使ってメールを送ろうとしたところ、ログに以下のエラーが出ていました。
Sendgrid delivery failed with 403: {"errors":[{"message":"The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements","field":"from","help":null}]}
文字通り、送り主のメールアドレスが認証できてないんだろうなーとは思いつつ、どんな認証方法があるのかきちんと把握できていなかったので、メモとして残しておこうと思います。
認証方法
認証には以下の2通りの方法があるようです。
1. メールアドレス認証
メリット
・設定、認証が簡単
デメリット
・テスト用に推奨される認証方法
・From(メール送信者)のメールアドレスの下に“sendgrid.net 経由”という記載や、また送信元・署名元のドメイン情報に“sendgrid.net”という表記が追加される
・同じドメインでもいちいちアドレスを登録する必要がある
手順
SendGridの管理画面 > Settings > SenderAuthentication を開く
Single Sender VerificationのGet Startedをクリック
2. ドメイン認証
メリット
・送信元、署名元のドメイン情報がFromアドレスと同一ドメインで、信頼性が上がる。
・迷惑メール扱いもされにくい。
・同一ドメインであればどのアドレスでも送信可能
デメリット
・設定が複雑で比較的時間がかかる
手順
SendGridの管理画面 > Settings > SenderAuthentication を開く
Domain AuthenticationのAuthenticate Your Domainをクリック
1で設定したいドメインを選択、2はNoを選択
設定したいドメインを記入
表示されているDNSレコード情報をDNSレコードに追記
以上の設定が完了すれば、設定したドメインのどのアドレスでもメールが送信できるはずです。