😎

レンタルサーバーからVercelに移転したら独自ドメインのメールが使えなくなってしまった話

2021/03/06に公開

はじめに

今までレンタルサーバー×Wordpressで運用していた自社のホームページをデザイン改修の機会にNext.js × Vercelというモダンな感じで組み直しました。

ホスティングが無事完了して、ドメインの繋ぎ込みも行い、移行完了したと思いきや独自ドメインで使用していたメールアドレスが使えなくなってしまうという大問題に発展してしまいました。

大慌てでメールアドレスの復旧を行った備忘録として、戒めとともに以下にVercelでホスティングしている独自ドメインで、別メールサーバーを運用する方法を残しておきます。

何がおこった

考えてみれば当たり前ですが、今までレンタルサーバーでサーバーに関する全てのことを勝手に行ってくれていたので、そこから移行するということはその勝手に行ってくれていた分を自分でやらないといけないわけです。

Vercelはあくまでホスティングサーバーなので、その他のサーバー、特に今回のようなメールサーバーは用意されていません。

よって、ブラウザによるドメインアクセスでは、VercelにホスティングされているWebページが表示されるのですが、ドメインに対するメールアドレスでのアクセスはVercel側で知らんぷりしてしまいます。

よって、これを解決するためには、別途メールサーバーを用意して、Vercel側ではメールをこのメールサーバー宛に送信してあげる必要があります。

Vercelでメール送受信をする

そもそも、今までどのように独自ドメインでメールアドレスを運用していたかというと、レンタルサーバーに用意されているメールサーバーに対して、ドメインのメールアドレスを設定して、そこで受信したメールをGmail宛に転送していました。

そこで、今回は、メールサーバーを別途用意してVercelのネームサーバー内のレコードを書き換えてメールの送受信は全てメールサーバーで運用するという体制にしました。
結局レンタルサーバー使ってるじゃねーか!

メインサーバー:Vercel
メールサーバー:さくらのメールサーバー

と言いつつ、やったことは至極簡単でレンタルサーバーを契約してVercelのネームサーバーのレコードを書き換えるだけです。

1.メールサーバーの用意

脅威の月額87円!
右上のお申し込みから、必要情報を入力して契約完了

2.VercelのダッシュボードからドメインのDNSレコードを編集する

Vercelのダッシュボードのトップページから、Domainsを選択

使用中のドメインを選択

DNS Records編集画面でTYPEをMXに選択し、VALUEを先程契約したメールサーバーの「初期ドメイン(xxx.sakura.ne.jp)」を入力する。
PRIORITYは「10」で設定して、「ADD」でMXレコードを追加する。

3.さくらのメールサーバーの設定

さくらサーバーのダッシュボードにアクセス
二度とこの画面見なくて済むと思っていたのに

さくらサーバーは、初めから初期ドメインが設定されているので、独自ドメインを登録する
ドメイン/SSL > ドメイン/SSL から「ドメイン新規追加」で独自ドメインを追加する
※サーバーの契約時にクレジット決済以外を選択した場合、決済が完了するまで独自ドメインの追加ができないので注意

追加したドメインに対して、SPFレコードの使用を「利用する」にする。
この画面は、ドメイン一覧から「設定」で表示できる。

最後に、独自ドメインで使用したいメールアドレスを作成する。

4.Vercelでドメインに対してSPFレコードを設定

SPFレコードとは

なりすましメールを予防するために使われている代表的な技術の1つが、DNSを使ったSPFという技術です。昨今ではSPFレコードを登録していないことで、自社から送信したメールが迷惑メールと判定されてしまうこともあります。メールを安全に利用するためにも、SPFは覚えておきたい技術です。
SPFレコードとは?正しい書き方を徹底解説

らしいので、設定しましょう。

再び、Vercelのダッシュボードから、ドメインの設定を開きDNS Recordsを編集します。
TYPEを「TXT」にして。VALUEは下記のようにメールサーバーの初期ドメインを設定します。
PRIORITYは画像では10になっていますが、何も入力しなくて問題ありません。

SPFが設定されているか確認するために以下のサイトでドメインを入力して確認できます。
https://mxtoolbox.com/SuperTool.aspx

5.メールの送受信ができるか確認

なぜこんなめんどくさい構成に?

実は、メールの管理をGoogle Workspace(Gsuite)に統合すればめっちゃ簡単にVercelでも独自ドメインでのメール送受信が実装できます。

ただ、Google workspaceは複数人で契約するとそこそこ値が張るので使うのを躊躇っていましたが、高いには理由があるということで、やはりGoole Workspaceは便利でした。
今度からは素直にGoogle workspace使います。

ということで、安易にモダン化したせいで、やらかした人の備忘録でした。

Happy Hacking😎

Discussion