ひろこま Hack Log

プログラミングや機械学習などの知識を記録・共有します

独自ドメインのメールアドレスをSendGrid経由で送信

f:id:twx:20200128142303p:plain
独自ドメインのメールアドレスをSendGrid経由で送信

この記事では、独自ドメインのメールアドレスをSendGrid経由で送信できるようにするためのGmail側とSendGrid側の設定方法をご紹介します。


目次

01. SendGridとは

sendgrid.kke.co.jp

SendGridとはメール送信に特化したサービスです。Ruby on Railsで作ったWebサービスや、EC CUBEなどのE-コマースサイトで、大量のユーザにメールを送りたいときに便利です。SendGridのサービスを使えば、大量のマーケティングメールを送ることができたり、SMTPが使えるので自作のWebサービスからメールを送ることができるようになります。

Webサービスでよくある、新規会員登録の時に登録確認メールを送信するといった使い方もできます。 月間1万送信までは無料で、スモールスタートで始める場合はコストがかからないので大変重宝するサービスです。

02. SMTPの設定

2020年1月29日現在、こちらのページでSMTPに関する接続情報が公開されています。

support.sendgrid.kke.co.jp

SMTPでメールを送信する場合、SMTP認証が必須となります。

接続情報は以下の通りです。

サーバ名:smtp.sendgrid.net
ポート番号:25 / 465 / 587 / 2525
ユーザ名:発行されたものを使用
パスワード:発行されたものを使用

SendGridに会員登録し、承認されるとユーザIDとパスワードが発行されるので、それが接続情報のユーザ名とパスワードになります。

この情報を、Gmail側に設定していきます。設定画面を開き、「アカウントとインポート」のタブをクリックしてください。その後、画面中程にある、「他のメールアドレスを追加」という文字列をクリックします。

f:id:twx:20200129140912p:plain
アカウントとインポート

すると、小さな黄色いウィンドウが現れます。

f:id:twx:20200129141101p:plain
名前とメールアドレスの入力

f:id:twx:20200129141136p:plain
SMTPサーバ接続情報の入力

ここで、各項目に設定する値は以下の通りです。

名前:任意(メール送信時に相手に表示される名前)
メールアドレス:独自ドメインのメールアドレス
SMTPサーバ:上記のサイトに載っていたsmtp.sendgrid.net
ユーザ名:発行されたものを使用
パスワード:発行されたものを使用
ポート:587
TLSかSSLか:TSL(推奨)

以上の設定が終了すると、独自ドメインのメールアドレス宛にGmailからの確認メールが届きます。メールに記載されている確認用リンクをクリックするか、確認コードを入力すると認証が完了します。

これで、GmailのWeb画面で、独自ドメインのメールをSendGrid経由で送ることができます!!

試しに、適当なメールアドレスにメールを送ってみましょう。

f:id:twx:20200129143307p:plain
メール送信テスト

メールを送信することが出来ました!!

…しかし、よく見てみると、送信元メールアドレスの右に「sendgrid.net経由」と書かれています。

このような表記があるとメール受信者からすると不信感がありますよね。

「sendgrid.net経由」を消すためには、次の章で説明する SenderAuthentication の設定が必要となります。

03. SenderAuthentication の設定

ここでは、メール送信元アドレスの隣に表示される「sendgrid.net経由」を消す、Sender Authenticationという機能を説明します。

Sender Authentication に関する説明はこちらのページにあります。

support.sendgrid.kke.co.jp

なお、上記のページには「Reverse DNS」なる機能も解説されていますが、Freeプランの方は無視してOKです。

さて、SendGridのWebポータルにログインし、の左メニューの「SETTINGS > Sender Authentication」をクリックしてください。

f:id:twx:20200129144010p:plain
Sender Authentication の画面

Sender Authenticationの画面に来ます。画面右上のAuthenticate Your Domainの「Get Started」をクリックしてください。

f:id:twx:20200129144227p:plain
Authenticate Your Domain

リストから「Other」を選択。ここは何でもいいです。

f:id:twx:20200129144247p:plain
Domain You Send From

送信元メールアドレスを入力してNext。

f:id:twx:20200129144334p:plain
Install DNS Records

すると、3つのCNAMEレコード情報が与えられます。このレコードを、自身のDNSレコードに入力してください。以下ではAWSのRoute53を例にします。

f:id:twx:20200129144512p:plain
Set CNAME Records

AWS Route53の画面で、「レコードセットの作成」をクリック。右側のレコードセットを入力するウィンドウで、先程与えられたCNAMEレコードを設定します。

DNSへの反映が終わったら、SendGridのCNAME情報の載っていた画面にもどって右下の「Validate」をクリックしてください。チェックが通らない場合、DNSレコードの内容に誤りがあるか、DNSレコードへの反映がまだ終わっていない可能性があります。

チェックが通ると、ドメインの認証が完了し メール送信元アドレスの隣に表示される「sendgrid.net経由」が表示されない状態でメールを送ることができるようになります。

04. おわりに


以上、独自ドメインのメールアドレスをSendGrid経由で送信する方法でした!

良い記事だと思っていただいた方は、以下の「★+」ボタンのクリック、SNSでのシェア、「読者になる」ボタンのクリック、Twitterのフォローをお願いします!

Koma Hirokazu 's Hacklog ―― Copyright © 2018 Koma Hirokazu