情報ラボ > 電子メールのしくみ
送信ボタンを押してから相手に届くまで、メールはどこを通っているのでしょうか。
@の後ろが、どのメールサーバーに届けるかを示しています。郵便でいえば住所、@の前が宛名にあたります。
| メールソフト | メールを書いたり読んだりするアプリ。スマホのメールアプリやWebメールもこれにあたります |
|---|---|
| 送信サーバー | 受け取ったメールを、相手のサーバーへ転送します(SMTPサーバー) |
| 受信サーバー | 届いたメールを保管しておきます。受信者が取りに来るまで預かります |
| DNS | ドメイン名から、どのサーバーに送ればよいかを調べます |
| POP | IMAP | |
|---|---|---|
| メールの置き場所 | 自分の機器にダウンロード | サーバーに置いたまま |
| 複数の機器で見る | 同じメールを見られないことがある | どの機器でも同じ状態 |
| 既読や振り分けの同期 | 同期されない | すべての機器で同期 |
| サーバーの容量 | あまり使わない | たくさん使う |
| ネットがないとき | ダウンロード済みなら読める | 基本は接続が必要 |
スマホとパソコンの両方でメールを見るのが当たり前になったため、いまはIMAPが主流です。
メールのヘッダには、届くまでの経路が記録されています。見比べてみましょう。
| SPF | そのドメインのメールを送ってよいサーバーの一覧を、DNSに登録しておく方式です。一覧にないサーバーから来たら怪しいと判断できます |
|---|---|
| DKIM | 送信側が電子署名を付け、受信側が正しさを確かめる方式です。途中で書きかえられていないことも確認できます |
| DMARC | SPFとDKIMの結果をもとに、不正なメールをどう扱うか(拒否する、隔離するなど)を決める方式です |
これらは受信側で自動的に判定されます。迷惑メールフォルダに振り分けられるのは、こうした検査の結果です。
メールアドレスは、@(アットマーク)で2つに分かれています。
後ろのドメイン名が、どの組織のメールサーバーに届けるかを示します。前のユーザー名は、そのサーバーの中で誰宛かを示します。郵便でいえば、ドメイン名が住所、ユーザー名が宛名にあたります。
送信ボタンを押してから相手に届くまで、メールはいくつかの場所を経由します。
ここで重要なのは、相手のパソコンに直接届くわけではないという点です。いったんサーバーに預けられ、相手が受け取りに来るのを待ちます。相手の電源が入っていなくても送れるのは、このためです。
それぞれの場面で、異なるプロトコルが使われます。
| プロトコル | 読み方 | 役割 |
|---|---|---|
| SMTP | エスエムティーピー | メールを送る(メールソフト→サーバー、サーバー→サーバー) |
| POP | ポップ | メールを受け取る(ダウンロードする方式) |
| IMAP | アイマップ | メールを受け取る(サーバーに置いたまま見る方式) |
整理すると、送るときはSMTP、受け取るときはPOPかIMAPです。送信と受信で別のプロトコルを使うのが、メールの特徴です。
どちらもメールを受け取るための方式ですが、考え方が違います。
POPは、サーバーからメールを自分の機器にダウンロードします。郵便受けから手紙を持ち帰るイメージです。持ち帰った後は自分の手元にあるので、ネットがなくても読めます。ただし、別の機器からは見られません。
IMAPは、メールをサーバーに置いたまま見ます。既読にしたり、フォルダに振り分けたりした結果も、サーバー側に記録されます。そのため、スマホで読んだメールはパソコンでも既読になっています。
スマホとパソコンを両方使うのが当たり前になった現在、IMAPが主流です。ただしサーバーの容量を使うため、古いメールの整理は必要になります。
メールの仕組みには、設計上の弱点があります。差出人(From)は自由に書けるのです。
これは、封筒に自分で好きな差出人を書けるのと同じです。郵便局は差出人が本物かを確認しません。メールも同様に、もともと本人確認をする仕組みがありませんでした。
この弱点を突いたのが、フィッシングメールやなりすましメールです。銀行や大手企業の名前で送られてきても、それだけでは本物と判断できません。
メールには、ふだん見えていない情報が付いています。これをヘッダといい、届くまでに経由したサーバーの記録が残っています。
Received という行に、経由したサーバーが順に記録されます。差出人が銀行を名乗っているのに、まったく無関係なサーバーを経由していれば、なりすましの可能性が高いと判断できます。上のツールで、正しいメールとなりすましメールのヘッダを見比べられます。
なりすましを防ぐため、3つの仕組みが使われています。
これらは受信側で自動的に判定され、結果に応じて迷惑メールフォルダに振り分けられます。ただし完璧ではないため、利用者側の注意も必要です。
| 欄 | 意味 | 他の受信者から見えるか |
|---|---|---|
| To | 主な宛先。返信を期待する相手 | 見える |
| Cc | 参考として共有したい相手 | 見える |
| Bcc | 他の人に知られずに送りたい相手 | 見えない |
Bccは Blind Carbon Copy の略で、他の受信者にはアドレスが表示されません。多数の人に一斉送信するとき、Toに全員を入れると全員のアドレスが互いに見えてしまいます。これは個人情報の漏えいにあたり、実際に事故として報道されることが繰り返し起きています。
一斉送信のときはBccを使う。この習慣を身につけておくことが大切です。
メールはもともと、英数字の文字だけを送る仕組みとして作られました。画像や日本語をそのまま送ることはできません。
そこで使われるのがMIMEという規格です。画像などのデータを、いったん英数字の並びに変換して送り、受信側で元に戻します。この変換をBase64といいます。
ただし、この変換でデータ量は約1.33倍に増えます。3バイトのデータが4文字になるためです。「3MBの画像を添付したのに、送信サイズが4MBになる」のはこのためです。
多くのメールサーバーには、25MB程度の送信上限があります。大きなファイルを送りたいときは、クラウドストレージに置いてリンクを共有するほうが確実です。
メールの内容は、そのままでは経路上で読まれる可能性があります。そこで通信を暗号化します。
メールソフトとサーバーの間では、SMTPS・POP3S・IMAPSといった暗号化された通信が使われます。サーバーどうしの転送でも、STARTTLSという仕組みで暗号化されるのが一般的になりました。
ただし、これは経路の暗号化にすぎません。サーバー上ではメールは平文で保管されています。内容そのものを守りたい場合は、S/MIMEやPGPといった、送信者と受信者の間だけで暗号化する方法が必要です。