| 7 | 応用 |
|---|---|
| 6 | プレゼンテーション |
| 5 | セッション |
| 4 | 交通機関 |
| 3 | ネットワーク |
| 2 | データバインディング |
| 1 | 物理的な |
| OSIモデル | |
Simple Mail Transfer Protocol (一般にSMTPと略されます) は、電子メールを電子メール サーバーに転送するために使用される通信プロトコルです。
SMTP は (名前が示すように) 非常に単純なプロトコルです。まずメッセージの受信者を指定し、次にメッセージの送信者を指定し、通常はその存在を確認した後、メッセージの本文が転送されます。ポート 25 でTelnetを使用して SMTP サーバーをテストするのは非常に簡単です。
SMTP は 1980 年代初頭に広く使用され始め、その後UUCPを補完するものとなり、相互接続が断続的なマシン間の電子メールの転送には後者の方が適していました。 SMTP は、メッセージを送受信するマシンが永続的に相互接続されている場合に最適に機能します。
Sendmailソフトウェアは、最初ではないにしても、SMTP を使用する最初の電子メール サーバーの 1 つです。それ以来、ほとんどの電子メール クライアントは SMTP を使用してメッセージを送信できるようになりました。 Postfix、Daniel J. Bernstein の Qmail、Exim、 Microsoftの Exchange (他の機能も実行します) など、いくつかの新しいサーバーが登場しました。
このプロトコルでは ASCII (7 ビット) テキストが使用されていたため、バイナリ ファイル内のバイトの送信には機能しませんでした。この問題を克服するために、SMTP を介したバイナリ ファイルのエンコードを可能にする MIME などの標準が開発されました。現在、ほとんどの SMTP サーバーは 8 ビット MIME をサポートしているため、バイナリ ファイルの転送は単純なテキストとほぼ同じくらい簡単になっています。
SMTP では、サーバー上のメールボックスに到着した電子メールをリモートで取得することはできません。 POP および IMAP 標準はこの目的のために作成されました。
SMTP セッションの一般的な構文
上記の Telnet テストでは、次のようなダイアログが表示されます (サーバー メッセージは赤色で表示されます)。
220 smtp.xxxx.xxxx SMTP 対応 HELO顧客 250 お客様こんにちは、初めまして。 メール送信者:250 ...送信者はわかりました RCPT 宛先:250 受信者は大丈夫です。 データ 354 メールを入力し、最後に「.」を付けます。単独の行にある これは、SMTP に関するWikipediaの記事のテストです。 。 250 わかりました やめる 221 接続を閉じる 接続が外部ホストによって閉じられました。

セキュリティ面
基本的に、SMTP の制限の 1 つは、送信者を認証できないことにあります。このために、SMTP-AUTH 拡張機能が定義されています。残念ながら、SMTP-AUTH を広く課すことは不可能であるため、このプロトコルはスパム現象に直面すると無力になってしまいます。
スパムは、標準を尊重しない MTA の実装、スパマーがユーザーの PC をリモート制御してスパムを送信できるようにするオペレーティング システムのセキュリティの脆弱性、最後に特定の MTA のインテリジェンスの欠如など、さまざまな要因によって発生します。
この現象に効果的に対処するには、SMTP を大幅に変更するか、置き換えるか、他のプロトコルを追加して SMTP の欠点を補うという 2 つのアプローチがあります。 SMTP を大幅に変更したり、完全に置き換えたりすることは、すでにインストールされているサーバーのネットワークの規模を考慮すると、現実的ではないと思われます。すべてにもかかわらず、 Internet Mail 2000 や ePost などの代替ソリューションが開発されています。
もう 1 つのアプローチは、SMTP プロトコルの操作を支援するシステムを作成することです。 Internet Research Task Force (IRTF) のスパム対策研究グループ (ASRG) は現在、柔軟で軽量、スケーラブルなシステムを提供することを目的として電子メール認証に取り組んでいます。この研究はすべて、2004 年の MARID プロトコルと 2006 年の DomainKeys Identified Mail プロトコルにつながりました。

