メール送受信のしくみ(基本編) | 若手エンジニアのブログ

若手エンジニアのブログ

文系出身の若手女子エンジニアによる技術ブログ。
日々の経験や学びをアウトプットするためにブログを書いています。
バックエンド(Java+SpringFramework)を経てインフラエンジニアになりました。
今は育休中につき、本で勉強したことを中心にアウトプットしています。

SMTPやPOPなどの、メールに関するプロトコルや、メール送受信のしくみについて

説明してください。

 

…って、もし言われても分からんなーと思ったので、

今日は、今更ですがメール送受信のしくみについて、まずは基本を勉強したいと思います('ω')ノ

 

もくじ

1.メール送受信における登場人物

2.基本の3つのプロトコル

 ・SMTP

 ・POP

 ・IMAP

 

1.メール送受信における登場人物

メールのやりとりには、メールソフトと、メールサーバが必要となる。

 

メールソフトは、OutlookやGmailなど、普段私たちがメールを書いて送ったり、閲覧したりしているソフトウェアである。

対してメールサーバは、メールの送信や受信を担ってくれる。


 

メールサーバは、大きく2種類に分けられる。

送信を担当するサーバと、受信を担当するサーバである。

 

メールソフト(Outlook等)でメールの送信ボタンを押すと、

送信担当のメールサーバに、当該メールの送信が依頼される。(下図の①)

 

送信担当サーバは、当該メールを、メール相手のメールソフトが指定する、
受信担当メールサーバに送信する。(下図の②)

 

最後に、メール相手のメールソフトが、受信担当サーバに届いた自分宛のメールを取得し(下図の③)、メールの一連の送受信は完了となる。

 

 

図の①~③の手順を宅配に例えるなら、こんな感じ。

メール送受信での処理 宅配に例えた場合
メールソフトから、指定の送信担当サーバに
メール送信を依頼
自宅最寄りの宅配業者に
荷物の配達を依頼
送信担当サーバから
相手方の指定する受信担当サーバに
メールを送信
自宅最寄りの宅配業者から
受取人の最寄りの宅配拠点に
荷物を運ぶ
メールの相手方が、受信したメールを
受信担当サーバに取りに行く
(受信担当サーバが自動で送るのでは無い)
荷物の受取人が、運ばれた荷物を
宅配拠点に取りに行く
(家まで届けてもらうのではない)

 

なお、利用する送信担当サーバと受信担当サーバは、
メールソフトであらかじめ設定しておく必要がある。(下図の左)

設定しておかないと、行き先が分からなくなって迷子になってしまう。(下図の右)

    

 

具体的に指定すべきサーバは、企業や団体なら組織のメールサーバ、個人ならISP(Internet Service Provider、要はネット回線業者)から指定されている(はずの)ものとなる。

 

2.基本の3つのプロトコル

メールの送受信の基本は、以下3つのプロトコルによって支えられている。

プロトコル 役割
SMTP メール送信用
POP メール受信用
IMAP メール受信用

 

次に各プロトコルの詳細を見ていく。

 

SMTP

SMTP(Simple Mail Transfer Protocol)は、メール送信に関するプロトコルである。

OSI基本参照モデルのアプリケーション層(第7層)で動作する。

 

メール送信担当サーバは、このSMTPを用いてメール送信依頼を受け付け、実際に送信する。メールの転送も行える。

SMTPを利用してメール送信するため、メールの送信を担当するサーバは「SMTPサーバ」と呼ばれるのが一般的である。

 

SMTPサーバはドメインごとに存在する。

(ドメインとは、メールアドレスの「xxx@example.com」の、@以下の部分のこと)

従って、自分が誰かにメールを送る時は、
ドメインが指定するSMTPサーバに、メールの送信を依頼することになる。

 


 

SMTPはメール送信における基本のプロトコルであるが、
実際は、SMTPを拡張した「SMTPS」の利用が一般的になっている。

SMTPSによって、メールの不正利用防止や暗号化といった、よりセキュアなメール送信を実現できる。

 

 

POP

POP(Post Office Protocol)は、メールの受信に関するプロトコルである。

次に紹介するIMAPも、同じく受信に関するプロトコルだが、両者の違いは「受信したメールをサーバに保管しておくかどうか」にある。

 

POPでは、受信したメールを受信担当サーバから自身の端末(PC、スマホ等)へダウンロードする。

ダウンロードされたメールは、サーバ内では保管されず、自身の端末内に保管される。

 

 

POPのメリットには、一度端末内にメールを保管すれば、オフラインや速度の遅い環境でも、メールを容易に確認できる点がある。

端末内にあるメールを見るだけであり、受信担当サーバとの通信は不要なためである。

 

また、受信担当サーバの容量が小さい場合に対応しやすいというメリットもある。

受信したメールを全てサーバに置いておく場合、膨大な容量のサーバが必要となるが、

POPではメールが各端末に保管されるため、受信担当サーバの容量を膨大なものにしなくて済む。

もし受信担当サーバの許容量を超えてメールが送られてきた場合、受信できずに破棄されてしまうため、メールサーバの容量確保は重要である。

 

 

逆にPOPのデメリットは、以下3つが挙げられる。

 

まず第一に、端末の故障や紛失等により、過去に受信したメールにアクセスできなくなる点が挙げられる。

メールが受信サーバ内に保管されず、復旧が難しくなってしまうためである。

 

第二に、複数の端末(PCとスマホなど)から同じメールアカウントにアクセスするケースには向かない。

例えば、メールをスマホに保存したら、サーバからはそのメールが削除されるため、
PCで同じメールを見ようとしても見ることができない。

 

第三に、特にスマホなどの保存容量の小さい機器だと、メールによって容量が圧迫される。

そのため基本的には、スマホでのメール受信には、後述するIMAPが利用されている。

(PCでももちろんIMAPの利用は可能である)

 

 

なおPOPは、2022年現在、バージョン3であるPOP3が使用されている。

POPと呼ばれていても、ほとんどの場合、POP3のことを指していると思って問題ない。(3が省略されているだけと思って良い)

また、単なるPOP3ではなく、「POP3 over SSL/TLS」を用いて、メールを暗号化することが推奨されている。

 

 

IMAP

IMAP(Internet Message Access Protocol)も、メールの受信に関するプロトコルである。

POPと異なり、メールを受信サーバに保管したまま、手元の端末(メールソフト)にてメールを確認できる。

 

IMAPのメリット・デメリットは、POPの裏返しである。

 

メリット

 ・端末(PCやスマホ)の故障や紛失時にも、過去のメールを失わずに済む。

 ・複数の端末から同じメールアカウントを利用しやすい。

 ・端末の容量圧迫を防止できる。

 

デメリット

 ・メールのアクセス時に、ネットワーク環境の影響を受ける。

 ・受信サーバには膨大な容量が必要。

 

なおIMAPは、2022年現在、バージョン4であるIMAP4が使用されている。

IMAPと呼ばれていても、ほとんどの場合、IMAP4のことを指していると思って問題ない。

 

また、IMAPには暗号化やパスワード秘匿などのセキュリティ機能が無いため、
「IMAP over SSL/TLS(「IMAPS」または「IMAP4S」とも呼ばれる)」を用いて、セキュリティを実現することが多い。

 

 

 

今回は以上!

次回は応用編として、メールのセキュリティ向上技術などを扱いたいと思います!