私は電子メールがどのように機能するかを詳しく理解しようとしています。とても良いサイトを見つけました(DNS の MX レコードを例を挙げて説明する) でトピックについて説明しています。残念ながら、少し混乱しています。このサイトでは、電子メールの送信について次のように説明しています。
SMTP サーバーが MX レコード検索を使用してターゲット受信者の SMTP サーバーを見つけると、メッセージをそのサーバーに転送します (インターネット経由)。次に、SMTP サーバーはメッセージをドメインを担当する POP または IMAP サーバーに転送します...
[email protected]
たとえば、からにメールを送信したいとします[email protected]
。上記のステートメントによると、私MUA
(mutt
私の場合) はメッセージを私の SMTP サーバー ( ) に送信しますsmtp.mail.yahoo.com)
。次に、smtp.mail.yahoo.com
DNS ルックアップを使用してドメインの MX レコードを取得しますgmail.com
。確認したところ、 の MX レコードはgmail.com
IP gmail-smtp-in.l.google.com
: です173.194.77.26
。一方、Gmail SMTP サーバー ( ) のアドレスsmtp.gmail.com
は です173.194.77.108
。ここで混乱が生じます。
- 上記の 2 つのアドレスは同じではないでしょうか (引用した抜粋から理解したとおり)? MX ルックアップが、実際のマシンとは異なるマシンへの参照を返すのはなぜですか
smtp.gmail.com
? smtp.mail.yahoo.com
メッセージを に転送することを意味しますか?gmail-smtp-in.l.google.com
そうであれば、そのプロセスで何smtp.gmail.com
を行う必要がありますか?- メールボックス アカウントはどこで
marry
ホストされていますか?gmail-smtp-in.l.google.com
、smtp.gmail.com
それともimap.gmail.com
serer でしょうか?
答え1
プロバイダーの受信 SMTP と送信 SMTP は、異なるサーバーによって処理される場合があります。
受信 SMTP (または MX と呼ばれることが多い) は、ドメインのユーザーの受信メールを処理します。これらのサーバーは、自分のドメイン (たとえば gmail.com) 宛てのメールのみを受け入れるように構成されます。
送信 SMTP は、世界中にメールを送信しようとするドメインのユーザーのメールを処理します。これらのサーバーは、すべての宛先のメールを許可するように構成されますが、そのメールが自身の顧客によって送信された場合に限ります。多くの場合、これは IP アドレスまたは SMTP AUTH (ユーザー名とパスワード) に基づくファイアウォールによって強制されます。
yahoo.com から google.com にメールを送信した場合、smtp.gmail.com は何も行いません。ただし、google.com から yahoo.com にメールを送信した場合、smtp.google.com サーバーは MUA からのメールを受け取り、yahoo.com の MX サーバーに送信します。
最後の質問ですが、marry メールボックスはおそらく Google クラウド内の遠く離れたサーバー上にホストされるでしょう。フロントエンド (imap.google.com を処理するサーバーの 1 つ) が mary メールボックスからファイルを提供する要求を受け取ると、メールボックスへの参照 (何らかのデータベース内) を検索し、リモート マシンから情報を取得します。
巨大なメール設定(yahoo.com や gmail.com など)について考えることは、メールを理解するための最良の方法ではないかもしれません。ISP がメールをどのように処理するかを理解するようにしてください。