【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レコードは、そのドメイン宛てのメールが、どのメールサーバーに送られるべきかを指定します。
メールの送信において、ドメイン名からメールサーバーの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
Discussion