0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【図解もあるよ!】1からまとめるメール送受信の仕組み。

Last updated at Posted at 2024-12-19

本記事は素人の大学生が執筆しており、専門家の監修は受けておりません。そのため、正確性に関してご指摘や補足がございましたら、ぜひコメント欄でお知らせください。
(仕組みや流れについては、後々記述する予定です。)

そもそもメールサーバーってなんだよ

一言でいうと、メールサーバーは、電子メールの送受信を管理する役割を持ったサーバーである。インターネット上でメールを送信する際に、送信者のメールソフト(例:Outlook、Gmailなど)がメールサーバーに接続し、そこでメールが処理されて受信者のメールサーバーにお届けされる。このプロセスを通じて私達は日常的に電子メールを利用している。

メールサーバーの主な役割

  1. メールの受信と保存
     ・受信したメールをユーザーごとに整理し適切に保存する。
  2. メールの送信
     ・ユーザーから送信されたメールを目的の受信者のサーバーに転送する。
  3. スパムやウイルスのフィルタリング
     ・不正なメールや有害な添付ファイルを検出し、ユーザーの受信ボックスを保護する。

主なプロトコル

SMTP(Simple Mail Transfer Protocol)

概要

役割:メールの送信&中継
動作:クライアントからメールを受取、宛先のメールサーバーに転送。
ポート番号:通常はポート25、セキュアな通信ではポート465(SMTPS)やポート587(SMTP Submission)を使う。
特徴:
・テキストベースのプロトコル
・メールのキューイング機能がある。つまり一時的に保存出来る。
・認証(SMTP AUTH)や暗号化(STARTTLS)をサポート。

仕組み(流れ、イメージ)

POP3(Post Office Protocol version 3)

概要

役割:受信したメールをユーザーのデバイスにダウンロード
動作:ユーザーがサーバーに接続し、メールをローカルに保存。通常、サーバー上のメールは削除されるように成っている。
ポート番号:通常はポート番号110、セキュアな通信ではポート995(POP3S)
特徴:
・シンプルなプロトコルでメールを一度にダウンロード出来る。
・オフラインでのメール閲覧に適している。
・複数のデバイス間でのメール同期には向いていない。
・家の郵便ポストには郵便局(post Office)の人が届けてくれるよね?と考えて覚えれば混乱しない。

仕組み(流れ、イメージ)

スライド1.PNG

図1.POPの簡易的なフローグラフ
主な処理の流れ
1.接続確立:クライアントがメールサーバーに接続する。
2.認証:ユーザー名とパスワードを使用して認証を行う。(結構オーソドックス)
3.メールの取得:サーバー上のメールをクライアントにダウンロードする。
4.削除オプション:ダウンロードした後に、サーバー上のメールを削除するかどうかを選択する。(基本は削除するようになってる)
5.切断:セッションをここで初めて終了する。

認証で使用するコマンド(C:クライアント S:サーバー)

・USER
認証するユーザー名を指定する。

C: USER example@example.com
S: +OK User accepted

・PASS
認証するユーザーのパスワードを指定する。

C: PASS yourpassword
S: +OK Logged in

・APOP
USER、PASSコマンドの認証の代わりに使用する。(ユーザーとか)

C: APOP example@example.com dcd97e36f67da0d
S: +OK Logged in

・AUTH
IMAP4認証を行う。
・QUIT
ログアウト処理。

トランザクションで使用するコマンド

・STAT
メールメッセージの数とサイズの問い合わせ
・LIST【メッセージ番号】
メールメッセージ番号とそれぞれのサイズの問い合わせ
・RETR
指定されたメッセージ番号のメッセージ全体のダウンロード要求
・DELE
指定されたメッセージ番号のメッセージ削除要求
・NOOP
何もしない
・RSET
認証確立後発生した削除処理を全て取り消す
・TOP メッセージ番号 Line数
指定されたメッセージ番号のメッセージの指定されたLine分だけを表示する。
・UIDL [メッセージ番号]
メッセージunique-idの問い合わせ
・QUIT
ログアウト処理。

各コマンドに対するエラーハンドリング

POP3では、各コマンドに対して成功か失敗かを示すレスポンスコードが返されます。(この辺はHTTP通信とかでイメージが持ちやすいと思います。)
例:認証に失敗したレスポンス

-ERR invalid password

例:メール取得時のエラー

-ERR no such message

例:不正なコマンド

-ERR invalid command

などなどです!!

IMAP(Internet Message Access Protocol)

概要

役割:サーバー上でメールを管理し、複数デバイスからアクセス可能にする。
動作:これも受信側のプロトコル、ユーザーがサーバーに接続し、メールを閲覧・操作。メールはサーバー上に保持される。また、変更はリアルタイムで反映される。
ポート番号:通常はポート番号143、セキュアな通信ではポート993(IMAPS)
特徴:
・メールのフォルダ管理や検索機能が充実。
・同期機能に優れ、複数のデバイスで一貫したメール状態を保持。(出来れば常にインターネット接続しといてね。)

仕組み(流れ、イメージ)

認証と暗号化(このあたりは別途でページを用意しようと思います。)

認証

・SMTP AUTHを使用して、送信者が正当なユーザーであることを確認。
・SPF(Sender Policy Framework)、DKIM(DomainKeys Identified Mail)、DMARC(Domain-based Message Authentication, Reporting & Conformance)などの技術を用いて、送信元の信頼性を確保。

暗号化

・STARTTLSやSSL/TLSを使用して、メールの送受信時にデータを暗号化。
・メールサーバー間の通信も暗号化することで盗聴や改ざんを防止。

メールサーバーの効率的な運用

メールサーバーを効率的に運用するっていうのはどういう事なのか...。

スケーラビリティと負荷分散

スケーラビリティ

ユーザー数やメールの量の増加に対応出来るように、サーバーのリソースを柔軟に拡張する。
仮想化技術やクラウドサービスを活用して、必要に応じたリソース調整が可能。

負荷分散

複数のメールサーバー間でトラフィックを分散し、過負荷を防止。
ロードバランサーを手前に設置し、効率的なリクエスト処理を図る。

ログ管理とモニタリング

ログ管理

メールサーバーの動作状況やエラーメッセージを記録。
トラブルシューティングやセキュリティインシデントの解析に活用。

モニタリング

サーバーの稼働状況やパフォーマンスをリアルタイムで監視。
アラートシステムを導入し、異常が発生した際に迅速で対応。(おそらく、IDS/IPSのことかと)

ちょっとした語呂合わせ紹介(とてもいい記事を見つけたので)

↑の記事を引用すると....。

スマー(SMTP)トなポップ(POP3)スターから今(IMAP)きたよ
"電子メールの仕組みと、送受信で使うプロトコルの説明|POPとIMAPの違い。SMTPとは。prau-ict.com様より"
参照日2024年12月15日

文脈的にもPOPよりもSMTPのほうがスマートだし、かなりいい語呂合わせだと思います!
素晴らしい感謝...。

近年では利便性の高さから、IMAPの方が人気を博しているそうです。(まぁ、そりゃあそうですよね。)

参考&引用文献(いずれも参照日2024年12月15日)

・マスタリングTCP/IP―入門編―(第6版)
井上 直也 (著), 村山 公保 (著), 竹下 隆史 (著), 荒井 透 (著), 苅田 幸雄 (著)
ISBN-13:‎978-4274224478 出版社:オーム社

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?