基本的な電子メールの仕組みとプロトコル
初めに
基本情報技術者試験を勉強していると、さまざまなメールのプロトコルの問題が出題されます。
しかし普段私は業務でメールを滅多に用いないために、馴染みの薄い単語ばかりで訳わからん...状態でした。
そこで基本的な電子メールの仕組みとプロトコルについて調べて整理しました。
電子メールの送信から受信までの流れ
送受信フロー
メールを送信すると、一見直接受信者に送信されていると想像しますが(私はしていました)、実は下記のようなフローを踏んでいます。
- 送信者が送信者のメールサーバーに送信する
- 送信者のメールサーバーからDNSサーバーに受信先のサーバーはどこかを問い合わせる
- 送信者のメールサーバーから受信者のメールサーバーに送信する
- 受信者のメールサーバーから受信者へメールが送信される
つまり、受信者にメールが届くまで余計に2つのメールサーバーを挟んでいるということです。
なぜメールサーバーを挟んでいるのか
なぜメールサーバーを経由してメールを送信するのか、なぜ回りくどい方法でメールを送信しているのか、それには次のようなメリットがあるからです。
- 受信者がオンラインでなくても送信ができること
- 安全なメールの送受信ができること
1. 受信者がオンラインでなくても送信ができる
電話は「通話していいですか?」に対して、「いいですよ」というやりとりを行なって電話ができます。
もし電話と同じように、メールもこのやりとりが発生すると、受信者が反応できる場合でないと送受信ができません。
これを解消するのが、メールサーバーです。
もし相手が反応できるような状況でなくても、一度メールサーバーにメールを保存しておくことで、相手が反応できるタイミングでメールを受信できます。
電話のように後でかけ直す必要がなくなって、再送信の手間が減ります。
2. 安全なメールの送受信ができる
メールは電話と同じように知らない人から送信される可能性があります。
電話の場合だと、漏れても電話番号だけで済むかもしれませんが、メールだとそうはいきません。
例えば、添付ファイルの中にPCを遠隔操作するようなウィルスが仕込まれてある可能性があります。
そのような悪意を持って送信されるメールをサーバー側で堰き止めるなどの処理を行うことができます。
メールを送信するプロトコル
先ほど述べたメールの送受信を実現するために、送受信間でルールを作っています。
それが電子メールのプロトコルです。
この電子メールのプロトコルには、メール以外で使用されるプロトコルを用いている場合がありますが、今回は主要なメールのプロトコルにフォーカスしてまとめています。
SMTP(Simple Mail Transfer Protocol)
送信者から送信者のメールアドレス、受信者のメールアドレスにメールを送る際に使用されるプロトコル。
つまり、メールを送信する際に使用されるプロトコル。
SMTP-AUTH
SMTPに認証機能を設けたプロトコル。
従来のSMTPでは、送信者のメールサーバーに誰でも送信依頼を行うことができました。
これでは、迷惑メールなどが紛れ込んでしまう可能性があります。
そこで、送信者のメールサーバーに対してSMTP-AUTHを使用することで、認証を受けた人だけが送信を行うことができます。
POP(Post Office Protocol)
受信者のメールサーバーから受信者にメールを送信する際に使用されるプロトコル。
つまり、メールを受信する際に使用されるプロトコル。
パスワードを用いて、メールサーバーに問い合わせをします。
メールを受信した際に、メールサーバーからメールが削除されます。
APOP(Authenticated Post Office Protocol)
POPのパスワードのみを暗号化して、メールサーバーに問い合わせるプロトコル。
POP3(Post Office Protocol Version3)
POPでは、メールを受信するとメールがサーバーから消えてしましたが、POP3ではサーバーのメールのコピーを受信します。
そのため、POP3はサーバーにメールが削除されずに残ったままになります。
POP3s(Post Office Protocol Version3 over SSL/TLS)
SSL/TLSの仕組みを用いて暗号化を行なったPOP3のプロトコル。
パスワードだけでなく、メールの本文も暗号化された状態で受信します。
IMAP(Internet Message Access Protocol)
POPと同じようにメールを受信する際に使用されるプロトコル。
メールを受信した際、メールサーバーからメールを削除しないため、複数の端末で同じメールを見ることができます。
MIME(Multipurpose Internet Mail Extensions)
通常、テキストデータしか送受信できないメールプロトコルを画像や動画も扱えるようにした仕組み。
S/MIME(Secure / Multipurpose Internet Mail Extensions)
メールの暗号化を行なった盗聴防止と送信者の身元を特定する電子署名を用いたMIMEの仕組み。
まとめ
- メールの送受信でメールサーバーを経由することで、メールの送受信がやりやすくなる。
- メールの送受信でメールサーバーを経由することで、セキュリティ的に安全になる。
- SMTPは送信、POPとIMAPは受信、MIMEはメール機能を拡張したもの。
終わりに
意外と電子メールのプロトコルってあるんだな〜って思いました。
実はメールサーバーっていう概念が全くわかっていなかったので、今回整理ができてスッキリしました。
次は暗号化についても興味があるので、そちらも調べてみようと思います。
Discussion