MyDNS.JP + lolipop で独自ドメインのメールを運用する

# はじめに
この記事は以前に書いたものの書き直しです。
前に書いたものは、改めて読むと、何を伝えたいのか、誰に読んでもらいたいのか、よくわからないものとなっていました。

(2019年02月11日 追記)
私の知識が増え、またこの記事の汎用性を高めるために記事を大幅に加筆、修正しました。それに伴い、お名前.com に限らず利用できるようになったため、記事のタイトルを「お名前.com + MyDNS.JP + lolipop で独自ドメインのメールを運用する」から現在のものに変更しました。

## この記事のターゲット
- 独自ドメインを Lolipop のサーバーで運用したい
- でもその **サブドメインは自宅サーバーで運用したい**
- でもでもやっぱり**メールは Lolipop で使いたい！**

【念のため (わかる人向けに記載)】
通常 Lolipop で独自ドメインを運用するには、DNS権威サーバを Lolipop 指定のサーバ (現在は uns01.lolipop.jp. と uns02.lolipop.jp.) にしなければなりません。しかし Lolipop ではサブドメインのAレコードやAAAAレコードを自宅サーバに向けてなどはしてくれません。他のDNS権威サーバへの委任もしてくれません。よってサブドメインを自宅サーバで利用するには、独自ドメイン自体を Lolipop ではない他の権威サーバで運用するしかないのです。

## 注意
但し、今回の方法には少し問題があります。
場合によっては、Webサーバにアクセスできなくなったり、メールが届かなかったり消失してしまう可能性もあります。
万一、重要なメールが届かなかったり、データが消失しても筆者は責任を取ることができませんので、利用する際は自己責任でお願いします。

# 本編
以下、設定の内容を順番に記述していきます。

## 定義
今回利用するドメイン名は example.com とします。
また、本記事中では example.com のことを「独自ドメイン」と呼び、そのサブドメイン(*.example.com) のことを「サブドメイン」と呼びます。
(他に正しい呼び方がある場合は教えてくださいm(__)m)

## Lolipop
現在、ドメイン名を登録したレジストラ (お名前.com や ムームードメイン、JPDirect など) にDNS権威サーバとして Lolipop のDNSサーバ(uns01.lolipop.jp. や uns02.lolipop.jp.)を設定しており、かつ、まだ Lolipop に独自ドメインの追加をしていない場合は追加してしまいましょう。後々 Lolipop にエラーが出たりするリスクを抑えることができます。そしてそもそもその状態が DNS にとって良くありません。

## MyDNS.JP
この記事を参考にしていらっしゃる方は、おそらく既にその独自ドメイン用のアカウントをお持ちだとは思いますが、まだお持ちでない方は登録して独自ドメインの設定を行ってください。

### Lolipop のIPアドレスの取得と設定
【わかる人向け記載】
Lolipop で登録したドメイン(*.main.jp や *.sub.jp など)の A レコードを独自ドメインの A レコードとして MyDNS.JP に登録してください。CNAME ではサブドメインを運用できないためダメです。
IP アドレスが変わることは基本的にはないかと思われます。(すみません、確認がまだとれていません。)

【よくわからない方向け】
(Windows であれば) コマンドプロンプトを起動して、以下のコマンドを実行してください。
( exaple.main.jp の部分はあなたの **Lolipop の登録時** のドメイン名に差し替えてください。)
>`nslookup exaple.main.jp`

すると、色んな内容と一緒に
>権限のない回答:
名前: exaple.main.jp
Address: 157.7.107.39

のような表示が出ると思います。
そのAddressの部分を `MyDNS.JP > IP ADDR DIRECT` にIPv4の固定IPとして設定してください。
以下は MyDNS.JP の設定画面の例です。
>IPv4 Address, Mode : (例. 210.197.74.203)
`[先ほど出てきたIPアドレス]` `固定IP`

ちなみに、ここは若干の問題があって、Lolipop 側のIPアドレスが変化されると、こちらも手動で設定を変更しなければならなくなります。それに伴い、一時的にWebサーバーへアクセスできなくなってしまいます。

### MXレコードの設定
【わかる人向け記載】
Lolipop で登録したドメイン(＊.main.jp や ＊.sub.jp など)の MX レコードを独自ドメインの MX レコードとして MyDNS.JP に登録してください。
メールサーバの名前が変わる際は Lolipop さんから何かしらのアナウンスがあるそうなので、その際は適切に変更してください。

【よくわからない方向け】
再び、Windows ならコマンドプロンプトを起動して、以下のコマンドを実行してください。
( example.main.jp の部分はあなたの **Lolipop の登録時** のドメインに差し替えてください。)

>`nslookup -type="mx" example.main.jp`

すると、
>権限のない回答:
example.main.jp        MX preference = 10, mail exchanger = `mx01.lolipop.jp`

のような表示が出ると思います。
その mail exchanger の部分を MXレコードとして MyDNS.JP に追加します。
>`mx01.lolipop.jp`

ただ、これには **大きな** 問題がありまして、これは lolipop 側が設定しているものなので、万が一 lolipop 側が設定を変更した場合には、こちらの設定も変更しないと **メールが届かなくなります**。~~**恐らく** 変更時には lolipop 側から何かしらのアナウンスは貰えると思いますが、絶対あるとは限らないので、定期的にメールが受信できるか確認する必要がありそうです。
これが冒頭の注意で言った問題点です。~~
(2018年12月07日 追記) これについて、Lolipopさんのサポートに問い合わせると、メールサーバの名前を変更する際は何かしらの方法で、私達にアナウンスを頂けるとの回答を頂きました。アナウンスがあった場合は、適宜こちらを修正すれば良いかと思います。

### spf の設定
この設定をすることで、メールが受信時に迷惑メールとして分類されにくくなります。
（当然受信側の設定によるので、この設定を行っても他の原因で迷惑メールとして分類される可能性はあります。）

TXT レコードとして以下の内容を追加します。
以下は MyDNS.JP の設定画面の例です。
（あくまで、MyDNS.JP 用の記述になっているので、他 DDNS サービスを利用する際は、フォーマットを合わせてください。）
>Hostname*, Type*, Content, Delegateid or your id. (Hostname is not FQDN)
`@`, `TXT`, `v=spf1 redirect=_spf.lolipop.jp`, or mydns******

## DNS権威サーバ設定
### DNS権威サーバ
独自ドメインを取得したレジストラ (お名前.com や ムームードメイン、JPDirect など) の設定からMyDNS.JP のDNS権威サーバに委任の設定を行います。
DNS権威サーバには MyDNS.JP を利用するので、MyDNS.JPのマニュアル通りに以下を設定します。
(以下の表示は お名前.com の設定フォームを模しています。)

|||
|:--|--:|
| 1プライマリネームサーバー(必須) | `ns0.mydns.jp` |
| 2セカンダリネームサーバー(必須) | `ns1.mydns.jp` |
| 3 | `ns2.mydns.jp` |

## Lolipop の設定
冒頭で Lolipop に独自ドメインを追加していなかった場合は、追加してください。ネームサーバの設定は完了しているので、後で設定するにして大丈夫です。そのまま何もする必要がありません。

## 困ったときは
設定は以上になりますが、正常に動かない場合は以下を確認してみてください。

### 独自ドメインにアクセスしてもつながらない場合
・レジストラに MyDNS.JP の DNS 権威サーバを登録しましたか？
・MyDNS.JP に A レコードは追加しましたか？

# 最後に
以上で設定は完了になります。
lolipop 内に記述されている POP なり IMAP なり SMTP なりをメーリングソフトに設定して、送信、受信してみてください。
迷惑メールとして送信したメールが処理された場合は、spfの設定が間違えている可能性がありますので、見直してみてください。

それでは、お疲れ様でした。