📧

vercelでホストしている独自ドメインのメールサーバーをxserverに設定

2024/01/19に公開

背景

  • ドメインは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時間後確認すると、無事メールが使えるようになった。

参考している記事

https://galera.co.jp/blog/W9f_D13H
https://zenn.dev/mackay/articles/7625cc2e2400b7

脚注
  1. xserverの公式ヘルプより https://www.xserver.ne.jp/manual/man_domain_dns_setting.php ↩︎

Discussion