vercelでホストしている独自ドメインのメールサーバーをxserverに設定
背景
- ドメインはonamaeから取得
- onamaeの設定画面から、ネームサーバーを契約しているxserverの設定にする
- xserverからドメインのDNSコードを編集し、vercelのAレコードなどを設定
- ウェブアプリケーションをvercelからデプロイし、ドメインからアプリケーションをアクセスできる状態になった
そこから、いつものようにxserverからそのそのドメインのメールアドレスも作成しようとしたら、まずxserverから所有権が確認できないと認証を強いられた。Aレコードがvercelになっているせいかと。
認証は2つの方法があり、
- 指定のメールアドレス(admin@mydomain.comなど)に送信してそこから認証コードを取得する方法
まだメールアドレスが1つもないドメインなので、この方法は無理だ - 指定のhtmlファイルを
http://mydomain.com/webauth.html
にホストする方法
next.jsのアプリケーションなので、とりあえず指定htmlファイルダウンロードしてpublicに突っ込んでデプロイし、無事認証通った。
そこから、いつものようにメールソフトで新しいメールアドレスを設定し、別の関係ないgmailからテストメールを送ったら、おや、届かない。
xserverのwebメールから確認しようとログインしたら、ログイン失敗。
おや。。。
Aレコードがvercelなわけで、メールもそのドメインを辿ってvercelのほうに行っちゃったっぽい。
vercelはアプリケーションをホストしてくれているけど、メールについて知らん顔。
というわけで、アプリケーションはvercel、メールはxserverで使えるように設定すればオッケー
解決法
xserverのDNSレコード編集画面で、メール専用の「MXレコード」をxserverのホストに変更する。
以上。
以下詳細
MXレコード(優先度もあわせて設定)
内容に「ホスト名」を指定してください。IPアドレスは登録できません。
優先度は値が小さいほど優先順位が高くなります。
登録されているMX レコードと【同じホスト名・同じ優先度】のレコードは追加できません。
どちらかが異なれば追加できます。[1]
xserverのドメインのMXレコードはデフォルトそのドメインのままになっている
xserverのアカウント->サーバー情報から、ホスト名sv〇〇.xserver.jp
をコピーし、MXレコードの内容に入れて保存する
DNSレコードが反映されるまでしばらく時間かかるので、目安として1時間後確認すると、無事メールが使えるようになった。
参考している記事
-
xserverの公式ヘルプより https://www.xserver.ne.jp/manual/man_domain_dns_setting.php ↩︎
Discussion