20.13. smtpd — SMTPサーバー—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/library/smtpd
移動先:案内検索

20.13。 smtpd —SMTPサーバー

ソースコード: :source: `Lib / smtpd.py`



このモジュールは、SMTPサーバーを実装するためのいくつかのクラスを提供します。 1つは一般的な何もしない実装であり、オーバーライドできますが、他の2つは特定のメール送信戦略を提供します。

20.13.1。 SMTPServerオブジェクト

class smtpd.SMTPServer(localaddr, remoteaddr)
ローカルアドレス localaddr にバインドする新しい SMTPServer オブジェクトを作成します。 remoteaddr をアップストリームSMTPリレーとして扱います。 localaddrremoteaddr はどちらも、(ホスト、ポート)タプルである必要があります。 オブジェクトは asyncore.dispatcher を継承しているため、インスタンス化時に asyncore のイベントループに挿入されます。
process_message(peer, mailfrom, rcpttos, data)
NotImplementedError例外を発生させます。 サブクラスでこれをオーバーライドして、このメッセージで役立つことを実行します。 remoteaddr としてコンストラクターに渡されたものはすべて、_remoteaddr属性として使用できます。 peer はリモートホストのアドレス、 mailfrom はエンベロープの発信元、 rcpttos はエンベロープの受信者、 data はコンテンツを含む文字列です電子メールの( RFC 2822 形式である必要があります)。


20.13.2。 DebuggingServerオブジェクト

class smtpd.DebuggingServer(localaddr, remoteaddr)
新しいデバッグサーバーを作成します。 引数は SMTPServer のとおりです。 メッセージは破棄され、stdoutに出力されます。


20.13.3。 PureProxyオブジェクト

class smtpd.PureProxy(localaddr, remoteaddr)
新しい純粋なプロキシサーバーを作成します。 引数は SMTPServer のとおりです。 すべてが remoteaddr に中継されます。 これを実行すると、オープンリレーになる可能性が高いことに注意してください。注意してください。


20.13.4。 MailmanProxyオブジェクト

class smtpd.MailmanProxy(localaddr, remoteaddr)
新しい純粋なプロキシサーバーを作成します。 引数は SMTPServer のとおりです。 ローカルのmailman構成がアドレスを認識していない限り、すべてが remoteaddr に中継されます。アドレスについては、mailmanを介して処理されます。 これを実行すると、オープンリレーになる可能性が高いことに注意してください。注意してください。