電子メールのしくみ
郵便に私書箱というのがあります。送信者がポストに投函した郵便物は、郵便局員にて収集され最寄の郵便局(これをここでは「送信者側郵便局」とします)にまとめられ、宛先の郵便番号により宛先の郵便局(「受信側郵便局」とします)に送られて、受信側郵便局に設けられた受信者の私書箱に保管されます。受信者は鍵を用いて私書箱から郵便物を取り出します。
電子メールでは、送信者はメールソフト(メーラーともいいます)を用いて電文を送信側郵便局に相当するLANやプロバイダのメールサーバーに送ります。送信側メールサーバは宛先のIPアドレスを見て、受信側のメールサーバに電子メールを転送します。受信側メールサーバはそれをメールボックスに保管します。受信者はメールソフトを用いて、自分宛のメールをメールボックスから自分のパソコンに取り出します。
電子メールでも宛先の hitoshi@kogures.com からホスト名(この場合はドメイン名)からDNSによりメールサーバのIPアドレスを知り、通信することはWebページ閲覧と同じようなプロセスをとります。
電子メールのプロトコル
電子メールのパソコンからメールサーバへの送信およびメールサーバ間での転送プロトコルにはSMTP,受信者がメールボックスからメールを受信するプロトコルにはPOP3が広く用いられています。パソコンのメールソフトでは,「送受信]ボタンをクリックすることでこの二つを実行しています。
メールアドレス kogure@pc.highway.ne.jp の送信者からメールアドレス hitoshi@kogures.com の受信者にメールを送受信することを例として説明します。
- SMTP(Simple Mail Transfer Protocol)
-
パソコンから電子メールを送信するには,メーラーの[送信]ボタンをクリックするだけですが,その内部では,次のようなステップで電文が送られます。ここで重要なことは,パスワードは不要なことです。インターネットに接続するときにパスワードを聞かれることがありますが,それはインターネットを利用することについてのパスワードであり,電子メール送信には無関係なのです。ですから,送信者名を偽名で送ることも可能ですから,受信したときの送信者名は信用できないことになります(これを防ぐために、SMTPでパスワード確認を行うSMTP-AUTHがあります。)
- POP3(Post Office Protocol version 3)
-
POPでの内部は右図のようになります。SMTPとは異なりPOPでは,受信側メールサーバのドメイン名は不要でパスワードを要求します。ドメイン名が不要なのは,メールソフトの設定時にそれが指定しているからです。いちいちパスワードを入力しないでも受信できるのも同じです。
すなわち,電子メールでは,誰でも電子メールを送信することはできるが,それを受信できるのはパスワードを知っている本人だけだということです。
パスワードを必要としないSMTPでの不正利用を防ぐために、SMTP(送信)を行う前に、パスワードを必要とするPOP3(受信)を行わせることにより、利用権限を確認できます。その方式をPOP before SMTPといいます。
- IMAP4(Internet Message Access Protocol version 4)
- 電子メールを受信するプロトコルですが,POP3が電子メールの管理(保存や削除など)をクライアント側で行うとは異なり,原則としてメールサーバ側で管理します。そのため、ノートパソコンで読んだメールを後日デスクトップパソコンで整理することなどができます。
- MIME(Multipurpose Internet Mail Extensions)
- 本来、電子メールではASCIIコードだけが用いられていました。MIMEは,その制限を外して,各種の文字コード,画像やプログラムなどのバイナリデータも取扱えるようにしたプロトコルです。。通常のメールソフトは、MIMEに対応しています。
なお、MIMEに暗号化や復号、電子署名などの機能を加えたプロトコルにS/MIME(Secure MIME)があります。
電子メールでの留意事項
- 到着時間が不安定
電子メールは、インターネットの特徴である、不特定経路をバケツリレー的に転送されるので、到着時間は不安定です。そのため、後から送信したメールが先に到着することがあります。
- 不到達とその表示
受信者のメールアドレスを間違えた場合は、受信者に到達しないのは当然ですが、それ以外でも不到達になる場合があります。主な不到達メッセージを列挙します。
Host unknown:宛先のサーバがないか故障中。アドレスの@以降に誤りがある。
User Unknown:宛先のサーバに該当する利用者のメールボックスがない。アドレスの@以前に誤りがある。
Access denied:宛先サーバが受け取りを拒否。User Unknownと同じ原因が多い。
Name server timeout:メールサーバあるいは経路中でのトラブル。再送により届くこともある。
Message is too large:宛先サーバは大量データを拒否。分割して送信する。
あるいは、サーバの容量がオーバーしている。受信者がサーバに大量メールを放置している。
Unbalanced:送信サーバが拒否。送信者のアドレスに誤りがある。
この場合は、送信者に連絡できないので、サーバ管理者に通達される。
接続先のコンピュータが応答しません:送信者パソコンでのメールサーバ設定に誤り。
Service unavailable:何らかの原因による不到達。原因は多様。