Gmailで独自ドメインを使って無料でメールを送受信する
経緯
今まで10年以上、無償版G Suiteを利用して、個人で快適にGmailを利用してきました。
しかし先日、無償版G Suite(旧Google Apps)が5/1以降利用できなくなるとのアナウンスがありました。
「独自ドメインでメールを送受信したいだけなのに680円/月*ユーザー数は厳しいな~」と考え、無料で利用できる移行先を検討してみました。
構成
検討した結果、以下のような構成に移行することに決定しました。
mailgunでのメール転送について調べると、Googleパートナーページから登録すると無料で使えるような記事が出てきました。
しかし現在はUIが異なり、お金がかかりそうな雰囲気でしたので、普通に登録してnamecheapで転送をおこないます。
メール送信
mailgunのSMTPを利用したメール送信機能を利用します。
無料枠は5,000通/月ですが、通常利用であれば超えることはないので、無料と考えてよいと思います。
メール転送
namecheapの無料メール転送機能を利用します。
別のレジストラで管理しているドメインも、ネームサーバーを変更することで利用可能です。
メール受信
一般アカウントのGmailを利用します。
送受信フロー
受信

送信

Yandex 360 for Businessはどうなの
実際に登録してみましたが、受信メールは大半がSpam判定、送信もなぜかSpam判定されて不可でしたので、断念しました。
受信したメールがSpamに判定されると、他のアドレスに転送することができないため、転送メインで考えているとかなり不便そうです。
送信できない原因はわかりませんが、送信したいときにできないのはどうなのかなと思っています。
設定
用意するもの
- ドメイン
- mailgunアカウント
- namecheapアカウント
- 転送先メールアドレス(今回は記事タイトルのとおりGmailを使用します)
1. namecheapにドメインを登録する
用意したドメインをnamecheapのFreeDNSに登録します。
namecheapで購入した場合は不要です。
2. ドメインをmailgunに追加する
mailgunのダッシュボードを開き、サイドバーのSending->Domainsの順に進め、ドメイン一覧ページを表示します。

右上のAdd New Domainをクリックします。

ドメイン名を入力し、Add Domainをクリックします。

追加されると、DNS設定の手順が表示されます。
3. DNSレコードを追加する
mailgunで送信するためにDNSのレコードを追加します。
(一度確認で登録した後削除したので、画像だと一部設定済みとなっている箇所がありますが、無視してください)
Advanced DNSページを開く
NamecheapのDashboardからAdvanced DNSページを開きます。


メール転送設定
Advanced DNSのMAIL SETTINGSの項目でEmail Forwardingを選択し、表示されたSPFのレコードに、mailgunのSPFレコードを統合します。
includeからドメインまでをコピーし、デフォルト値のドメインの後にスペース区切りでペーストします。
v=spf1 include:mailgun.org ~all
v=spf1 include:spf.efwd.registrar-servers.com ~all
v=spf1 include:spf.efwd.registrar-servers.com include:mailgun.org ~all
編集が終わったら右側のチェックマークをクリックし、確定します。

domainkeyレコード追加
mailgunに表示されているdomainkeyレコードを追加します。

Advanced DNSのHOST RECORDSのADD NEW RECORDをクリックし、TXT Recordを選択し、項目を埋めていきます。

SAVE ALL CHANGESをクリックで登録完了です。
MXレコードについて
MXレコードは受信するサーバーを指定するための設定です。
今回はNamecheapの転送設定を利用するため、設定不要です。
(Email Forwardingに設定しているため、namecheapがMXレコードを自動で設定してくれています。)
Tracking用CNAMEレコードの追加
メールの開封などをトラッキングできるようにする設定らしいです。
通常利用だと不要だと思いますが、recommendedと書いてあるのでとりあえず設定しておきます。
The CNAME record is necessary for tracking opens, clicks, and unsubscribes (recommended).

Advanced DNSのADD NEW RECORDでCNAME Recordを選択し、入力します。

SAVE ALL CHANGESをクリックで登録完了です。
[Optional] DMARCレコードの追加
DMARCは、なりすまし防止などに効果があるらしいです。
設定しなくても送受信はできますが、後述のmailgeniusでの検証スコアを上げたいので設定します。
私は以下のように設定しました。

v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com;
GSuiteの場合は以下のようなメールが毎日届いていました。

DNSの検証
Verify DNS settingsボタンをクリックして検証します。

No recent resultsと表示されたら検証完了です。

4. メール転送先を設定する
namecheapでDomainタブを開きます。

REDIRECT EMAILの項目に転送先アドレス(Gmail)を入れると、そのアドレスにメールが転送されるようになります。

5. Gmailで送信できるようにする
mailgunでSMTP認証情報を発行
mailgunのダッシュボードを開き、サイドバーのSending->Domain settingsの順に進み、ドメイン一覧ページを表示します。
(左上のDomain:が正しいことを確認します)

SMTP credentialsタブを開き、Add new SMTP userをクリックします。
好きなユーザー名を入力し、Create SMTP Credentialをクリックして追加します。

追加が完了すると、右下にパスワードをコピーするポップアップが右下に表示されるため、Copyをクリックしてコピーします。

Gmailにメールアドレスを追加
Gmailの設定(右上の歯車マーク)から設定ページに移動し、アカウントとインポートタブをクリックします。
名前:項目の他のメール アドレスを追加リンクをクリックします。
別ウィンドウで表示される追加ダイアログに、送信に使用する名前とメールアドレスを入力します。

次に進むとSMTPの認証設定が表示されるため、mailgunのSMTP credentialsに記載されていたSMTPサーバーを入力します。
smtp.mailgun.org
ユーザー名には先程作ったSMTPアカウント(ドメイン込み)とパスワードを入力します。

メールアドレスの確認画面になるので、転送先メールアドレスに届いた認証コードを入力してください。(届かない場合は転送設定が間違っています)

メールアドレスが追加されたら完了です。
ついでにデフォルトに設定しておきます。

メールの送受信確認
受信確認
先ほどGoogleから認証コードが届いていれば受信はできていると思いますが、一応確認します。
適当なメールアドレスから設定したメールアドレスに対して送信します。
今回送信元にはメルアドぽいぽいを使用しました。
以下の内容で送信します。

届きました🎉

送信確認
Gmailから適当なメールアドレスに送信します。
受信確認と同じくメルアドぽいぽいを使用しました。
以下の内容で送信します。
(差出人が設定したアドレスになっているか確認します)

届きました🎉

Mailgenuisでスコアの確認
メールの設定等が適切かを検証してくれるMailgenuisというサービスでスコアを確認してみます。
メールマガジン用のテスターなので一部不要な項目がありますが、無視してOKです。
Mailgenuisにアクセスすると表示されるメールアドレスにメールを送信します。

空メールだとスコアが下がるため、適当な文字を入力して送信します。

Mailgenuisのメールアドレスの横にあるSEE YOUR SCOREをクリックすると、結果が見られます。

結果は98/100でした!

確認用に取得したドメインのため、Domain Ageで引っかかっていますが、普通に利用してきたドメインだと99が取れると思います。
List-Unsubscribe headerはメルマガを購読解除するためのものなので、一般利用の場合は無視して構いません。

おわりに
この記事では、Gmailをクライアントに独自ドメインで送受信する方法を紹介しました。
これで今まで通りメールを送受信できますが、他のデータの移行作業があると思うと憂鬱です。。。(GooglePlayの購入済みアプリは移行できないらしいし)
余談ですが、お名前.comはDNSの設定変更の度にクレジットカードの認証が入るんですね。
支払い済みであればカードが無効でも問題ないと思うのですが、どうなんでしょう。

おわりに2
私もいくつかドメインをnamecheapで管理していますが、DNS管理機能など国内レジストラよりも使いやすい点がたくさんあります。
また、某.comのように不要なメールが毎日何通も来ることもありません(重要)
改悪されると困るので、使い続ける場合は是非ドメインをnamecheapに移管してあげてください!
新規登録・更新の際にクーポンコードCOUPONFCNCを入力すると、一部ドメインを除き20%割引が受けられます。(アフィではないので安心してください)

[おまけ] プロモーションタブに振り分けられたくない場合の代替案(有料)
namecheapのPrivate Emailを契約してcatch-allを設定する方法があります。
一般用途用のメールサービスのため、プロモーションに振り分けられることは少ないと思います。
クーポンを使って初回9.67USD/yr、更新11.90USD/yrになります。
Discussion