SMTP(Simple Mail Transfer Protocol) えすえむてぃーぴー
簡単に言うとこんな感じ!
SMTPは「メールを送るための配送ルール」だよ!郵便で言えば「差出人が郵便ポストに手紙を投函して、郵便局が届け先に運ぶ」仕組みのこと。メールの「送信」専用のプロトコルで、受け取るときはIMAP・POP3っていう別のルールを使うんだ。
SMTPとは
SMTP(Simple Mail Transfer Protocol) は、インターネット上で電子メールを送信・転送するための通信規約(プロトコル)です。1982年にRFC 821として標準化され、現在も世界中のメールシステムの根幹を支えています。
SMTPが担うのはあくまで「メールを送り出す・運ぶ」役割です。メールサーバー同士がやり取りして宛先のサーバーまで届けるのがSMTPの仕事で、受信者がメールを「取り込む・読む」作業はPOP3やIMAPという別のプロトコルが担います。「送信=SMTP」「受信=IMAP/POP3」と役割分担されているのがポイントです。
実務上は、メールソフト(OutlookやThunderbirdなど)やクラウドメールが背後でSMTPを自動的に使っており、利用者が意識することはほぼありません。ただし、システムから自動でメール通知を送る機能を作るとき(例:注文確認メール・障害アラートなど)は、SMTPサーバーのアドレスやポート番号を設定する場面が出てきます。
SMTPの仕組みと構造
SMTPによるメール送信は、大きく3ステップで動きます。
| ステップ | 役割 | 登場人物 |
|---|---|---|
| ① クライアント→送信サーバー | メールソフトがSMTPサーバーにメールを預ける | MUA(メールソフト)→MTA(送信サーバー) |
| ② サーバー→サーバー | 送信側SMTPサーバーが宛先サーバーへ転送 | MTA → MTA(相手メールサーバー) |
| ③ 受信サーバーで保管 | 届いたメールを受信者のメールボックスに格納 | MTA → MDA(配送エージェント) |
主要なポート番号
SMTPで使うポート番号は用途によって使い分けられています。
| ポート番号 | 用途 | 暗号化 |
|---|---|---|
| 25番 | サーバー間転送(MTAどうし) | なし(平文) |
| 587番 | メールソフト→サーバー送信(推奨) | STARTTLS |
| 465番 | 旧来のSSL送信 | SSL/TLS |
覚え方: 「25は古い専用道路(サーバー間)、587は今どきの安全な一般道(クライアント送信)」と覚えておくと迷いにくい!
SMTP通信の主なコマンド
クライアント: EHLO mail.example.com ← 「こんにちは、私はこのサーバーです」
サーバー: 250-mail.receiver.com ← 「OK、受け付けます」
クライアント: MAIL FROM:<sender@example.com> ← 「差出人はこの人」
クライアント: RCPT TO:<user@receiver.com> ← 「宛先はこの人」
クライアント: DATA ← 「本文を送ります」
クライアント: Subject: テスト
本文テキスト
. ← ピリオドのみの行で終了
サーバー: 250 Message accepted ← 「受け取りました」
クライアント: QUIT ← 「切断します」
歴史と背景
- 1971年 — ARPANET上で初の電子メール送受信が行われる(Ray Tomlinsonが「@」記号を考案)
- 1982年 — RFC 821としてSMTPが標準化される。インターネット黎明期のシンプルな設計
- 1990年代 — インターネット普及とともにメールが爆発的に広がるが、認証機能がないという設計上の弱点が露わになりスパムが急増
- 1995年 — SMTPに認証機能を追加するSMTP AUTH(RFC 2554)が登場
- 2008年 — RFC 5321でSMTPが改定(現在の主流版)。SMTPSやSTARTTLSによる暗号化も普及
- 2010年代〜 — SendGridやAmazon SESなどのクラウドSMTPリレーサービスが普及し、自前のSMTPサーバーを持たずにメール送信する企業が増加
SMTP・IMAP・POP3の役割比較
メールプロトコルは「送る」と「受け取る」で完全に分かれています。
セキュリティ強化の仕組み
素のSMTPは認証も暗号化もない設計でした。現在は以下のセキュリティ拡張が組み合わさって使われています。
| 仕組み | 役割 |
|---|---|
| SMTP AUTH | 送信者のIDとパスワードを認証し、不正送信を防ぐ |
| STARTTLS | 通信を途中からTLS暗号化に切り替える |
| SPF | 送信元IPアドレスが正規のサーバーか検証(なりすまし対策) |
| DKIM | メール本文に電子署名を付けて改ざんを検知 |
| DMARC | SPF・DKIMの結果をもとに受信拒否ポリシーを設定 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 821(1982年) | SMTPの初版。基本仕様を定義 |
| RFC 5321(2008年) | 現行のSMTP標準(RFC 821の改定版) |
| RFC 4954 | SMTP AUTH(認証拡張) |
| RFC 7208 | SPF(送信元ドメイン認証) |
| RFC 6376 | DKIM(電子署名によるメール認証) |
| RFC 7489 | DMARC(SPF/DKIMを組み合わせたポリシー制御) |