何も設定せずに SendGrid 使って Gmail 宛てにメールを送ると「sendgrid.me 経由」と表示されます。
個人のサービスで適当に使う分には良いですが、実際のサービスで使う場合には表示させたくないですよね。この表示に関しては、Google からヘルプが公開されているので読んでおきます。
Gmail では、メールが正しく認証されているかどうかの確認を行います。一括メール送信機能や他社の アフィリエイトを使ってメールを送信する場合は、その送信元やアフィリエイトの IP を記述した SPF レコードを公開して、ドメインに関連付けられた DKIM 署名を使ってメールに署名してください。
送信者名の横に詳細情報が表示される理由 - Gmail ヘルプ
消すためには SPF レコードを公開して、メールを DKIM で署名する必要があるようです。*1
SendGrid のことなら中井さんに聞けば間違いないだろうと思ったので、直接聞いてみました。
@shibayan つ お金
— Kansuke (@nakansuke) 2015, 1月 15
本当は Silver にプランをアップグレードして、独自ドメインの設定を行うのが理想的ということらしいですが、GoAzure の時に色々と教えてもらったのでまとめます。やるべきことは以下の 3 つ。
- SPF レコードを追加
- DKIM レコードを追加
- DKIM 署名を行うホスト名を設定
Whitelabel Wizard - SendGrid Documentation | SendGrid
本家側のドキュメントにも書いてありますが、Whitelabel と SPF / DKIM が混ざった感じになっていて設定の肝が良く分からなかったのが少し残念。
SPF レコードを追加する
DKIM だけ設定しておけば問題なさそうな感じがしましたが、Google のヘルプでも SendGrid のブログでも SPF や Sender ID と DKIM は同時に使うべきと書いてあったので、設定を行っておきます。
日本語ブログで SPF が紹介されているので、実際に自分がどのように設定したかだけ書きます。
ホスト名 | 種類 | 値 |
---|---|---|
shibayan.jp | TXT | v=spf1 include:sendgrid.net ~all |
ちなみに shibayan.jp はお名前.com を使ってるので、最後のピリオドは省略しました。
DKIM レコードを追加する
DKIM は公開鍵を送信元になるドメインに紐づけておく必要があるので、SPF レコードのように DNS に専用のレコードを追加する必要があります。と言っても、SendGrid では既に用意されているので、CNAME を追加するだけで大丈夫です。
ホスト名 | 種類 | 値 |
---|---|---|
smtpapi._domainkey.shibayan.jp | CNAME | dkim.sendgrid.net |
カスタムな DKIM キーを使う場合には、多分お金払わないといけない気がしました。
DKIM 署名を行うホスト名を設定
既に DKIM について日本語ブログで説明されていたので、これを参考にしつつ設定を行いました。
DKIM対応のメールを送信するには? | ブログ | SendGrid
DKIM はアプリとして提供されているので https://sendgrid.com/app にアクセスして設定します。
"Set the DKIM domain to match the FROM domain" にチェックを入れるのが手軽かつ安全な気がしました。
これで設定が全て終わったので、同じようにメールを送信して確認します。
無料プランでも sendgrid.me 経由という表示が消えているのを確認出来ました。これで勝つる。
ちなみに DKIM レコードを追加せずに DKIM 署名だけを設定すると、sendgrid.me ではなく sendgrid.info 経由と表示されました。
メールヘッダを見ると shibayan.jp に対する署名と、sendgrid.info に対する署名の二つが付いていたので、検証に成功した方を優先するという形のようです。
*1:SendGrid だと Bronze が DKIM のカスタマイズが使えないので注意