SMTP ESMTP SASL 基礎知識

これはいいですね


Postfix + Cyrus-SASLでSMTP-Auth

http://d.hatena.ne.jp/ihag/20070419/1176944880

SMTPの基礎
http://www.atmarkit.co.jp/fnetwork/rensai/netpro05/netpro01.html

MTAによるメール・ルーティング送信処理は、次の段階に分けられる。
(1)MUAからMTAへメール送信を依頼
(2)あて先メールアドレスから送信先MTAを決定する
(3-a)送信先MTAが自身であった場合には、配信(Delivery)処理を行い送信終了
(3-b)送信先MTAへSMTP接続を行い、転送(Xfer処理)
(4)送信先MTAが配信(Delivery)処理を行い送信終了


メールルーティングの機能を分類すると送信と受信とキューイングの3つに分けることができる
メール・ルーティングにはもう1つ、複数メールの転送という複雑な動作も伴う

DNS MXレコードを使用する方法はRFC974(STD14)に定義


(1)グリーティングと呼ばれる自己紹介
接続先MTAが220リプライコードを用いて自分を名乗ると、
接続先MTAはHELOコマンドを用いて、やはり自身を名乗る。
次に接続先MTAが250リプライコードを返せば、greeting完了

(2)送信側は、
MAIL FROMコマンドとRCPT TOコマンドでメールの送信者とあて先を送信先へ通知
送信先MTAでは、RCPT TOコマンドで伝えられたアドレスに配信できるかどうかを、通常はこの時点で判断する必要がある。
ローカルで受け取るユーザーが存在しているかどうかを調べ、存在していないのであれば、この時点でエラーを返答する。同じMTA上の複数のユーザーにメールを送る場合には、このRCPT TOコマンドは複数回繰り返されることになる。

(3)DATAコマンドを送信し、その後メール・データを送信することを伝える。
このメール・データが「インターネットメール・フォーマット」または「MIME」に準拠したメールそのものである。
メール・データの最後は必ず.(ピリオド)のみを含んだ行で終結しなくてはならない。
こうした行を送信先MTAが検出すると、レスポンス・メッセージを返答する。
最後に、QUITコマンドを用いて切断を行う。


 また、SMTPから見ると、MAIL FROMとRCPT TOのみが手紙の「表書き」に相当し、
ヘッダも含めたメール・メッセージは単に「手紙の中身」になってしまう。
このとき、MAIL FROMとRCPT TOを含めて、「エンベロープ(封筒)」と呼ぶことがある。
実は、MTAでは多くの場合、MAIL FROMとRCPT TOの表書きも含めてメールボックスなどで管理することになる。ただし、POPなどでメーラに取り込んだ時点でこの表書きは消えてしまうので、利用者が意識することはまずない。

 エンベロープという概念は時折技術書などで登場するので、しっかりその範囲を把握すること