🦔

【SMTP】メール送信の仕組みを初心者なりにまとめてみた

に公開

SMTPによるメール送信の流れ

メール送信

あなたがメールソフトで送信ボタンを押すと、メールはあなたのドメインを管理するSMTPサーバーに送られます。

DNSサーバーへの問い合わせ

送信側のSMTPサーバーは、メールの宛先アドレス(例:user@example.com)の@以降のドメイン名(example.com)から、受信側のメールサーバーを探します。
このとき、DNSサーバーに対してexample.comのMXレコードを問い合わせます。

MXレコードによるIPアドレスの取得

DNSサーバーは、MXレコードに登録されているメールサーバーのホスト名と、そのIPアドレスを送信側のSMTPサーバーに返します。

メール送信の完了

送信側のSMTPサーバーは、取得したIPアドレスを使って受信側のメールサーバーに接続し、メールを送信します。

この仕組みにより、インターネット上のどのドメインにメールを送る場合でも、DNSがメールサーバーの「住所」(IPアドレス)を教えてくれるため、正確にメールを届けることが可能になります。

MXレコード

メールの宛先となるメールサーバーの場所をインターネットに教えるためのDNSレコードです。

これは、DNS(ドメインネームシステム)という、ドメイン名とIPアドレスを結びつけるシステムの一部です。ウェブサイトのドメイン名(例:example.com)が、どのサーバーのIPアドレス(例:192.0.2.1)かを指定するAレコードとは異なり、MXレコードは、そのドメイン宛てのメールが、どのメールサーバーに送られるべきかを指定します。


https://www.value-domain.com/media/mx_record/ より画像引用

メールの送信において、ドメイン名からメールサーバーのIPアドレスを特定するプロセスは、MXレコードとAレコードの連携によって行われます。

プロセスの詳細

MXレコードの役割(宛先メールサーバーの特定)

メールを送信するSMTPサーバーは、まず宛先ドメインのDNSサーバーにMXレコードを問い合わせます。

MXレコードには、そのドメインのメールを受け付けるメールサーバーのホスト名(例:mail.example.com)が記述されています。

Aレコードの役割(IPアドレスの特定)

送信側のSMTPサーバーは、MXレコードで取得したメールサーバーのホスト名(mail.example.com)を使って、今度はDNSサーバーにAレコードを問い合わせます。

Aレコードは、ホスト名とサーバーのIPアドレスを紐づける情報です。これにより、mail.example.comに対応する実際のIPアドレス(例:203.0.113.50)がわかります。

このように、MXレコードは「メールの宛先となるメールサーバーはどれか」を示し、Aレコードは「そのメールサーバーの実際の住所(IPアドレス)は何か」を示す役割を担っています。この2つのレコードが連携することで、メールが正しいサーバーに確実に届けられる仕組みが成り立っています。

参考URL

https://www.value-domain.com/media/mx_record/

https://it-biz.online/it-skills/smtp/

https://www.infraexpert.com/study/tcpip17.html

Discussion