12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

example.com にメール送信しても、メールサーバーにメールキューはたまりません(Null MX対応なら)

Last updated at Posted at 2020-08-05

1つの疑問が出る

本当にexample.comにメール送信して良いのか?メールサーバーに負荷をかけてしまうのではないか?

メールサーバのメールキューがたまっちゃう問題はどうしていますか?

テストのときはhoge.comとかだと実在するドメインなので、メール送信先としては良くないのでexample.comを使いましょう!ということですが、メールキューがたまるのでは?という疑問が出ました。

メール送信の仕組み上、実在しないドメイン、または実在してもメールサーバーが無いドメインへメールを送信すると、メールサーバーは該当サーバーが落ちているという認識して、再送信するためのメールキューに登録して一定時間後にメールを再送信します。
これを、数回繰り返して、本当にメール送信ができないときに、bounceメールとしてメールを戻してきます。
bounceメールとして判定するまでの間がメールキューにたまる問題です。

実は、ちょっと前まで、example.comにはメール送信先情報であるMXレコードが引けないために、example.comにメール送信したメールサーバーには再送信のためのメールキューがたまってしまいました。
そのため、メールサーバーを管理するインフラチームに迷惑をかけてしまう懸念がありました。
※ちなみに、今でも負荷テストならメール送信先を/dev/nullに落とすのが礼儀です。

しかし、今はexample.comにはNull MXというMXレコードが設定されています。
意外と知られてないので記事を書きます。

Wha't Null MX?

Null MXはRFC7505で定義されています。
https://tools.ietf.org/html/rfc7505

3章に、そのことが書かれています。
Null MXを定義をするとき、DNSの設定には.(ピリオド)を使用します。

Shell

nslookup -type=mx example.com

上のようにexample.comのMXレコードをnslookupで確認してみましょう。

image.png
example.com mail exchanger = 0 .とNull MXである.(ピリオド)が設定されています。

メールサーバーの振る舞い

Null MX非対応のメールサーバーだと、メールキューがたまる可能性はあります。
メールサーバーの実装によりますが.(ピリオド)ホストだと不正なドメインとなるので、一時的なエラーとして判定され再送信のためのメールキューにたまってしまうと思います。
まあ、今の時代、Null MXに対応してないメールサーバーなんて、セキュリティ的にガバガバなんで、そんなのを使うなと声を大きくして言いたいけどね。

Null MX対応しているメールサーバーなら、応答コード556拡張ステータスコード5.1.10(Permanent failure: Recipient address has null MX)を返すように規定されています。
そのためメールサーバーはbounceメール
として送り返してきます。
つまり、メールキューにはたまりません

みんなも大好きなGmailもNull MX対応なので、気軽にexample.comを使って良いと思います!

spfレコードは?

example.comのspfレコードは、どのようになっているでしょうか?

Shell

nslookup -type=txt example.com

上のようにexample.comのTXTレコードをnslookupで確認してみましょう。

image.png

v=spf1 -allと出ました。
-allは全てのドメインからメール送信しないという意味で、送信するドメインやIPアドレスが記述されていないので、メール送信しないドメインですと宣言していることになります。

DNS設定してますか?

貴殿の所有しているドメイン、メールサーバーが動いていないなら、Null MXとspfレコードの設定をしておきましょう。
Null MXは設定しなくても実害は低いですが、spfレコードは未設定だと、どこかのスパマーが貴殿のドメインを勝手に名乗って迷惑メールを送信するかもしれません。

spfレコードを上の項目のようにメール送信しない宣言をしておくだけで、スパマーが迷惑メールを送信しても、spfレコードの判定ステータスはFailになり、送信元のドメインを偽称している可能性が非常に高いと見なすことができます、そのためスパマーは、貴殿のドメインを勝手に名乗らなくなります。

結果として貴殿のドメインを守ることになります。

関連記事

こちらも参考にお読みください。
2020年8月の時点でNull MXに関する話が3記事しかない・・・そりゃNull MXが認知されない気がするね。

メールを受け取らないドメイン名に"Null MX"のリソースレコードを登録してみる
DNS MXレコードのpreference違いによるメール動作確認。特にpreference 0設定
世界と日本のメール送信ドメイン認証

12
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?