11.12 smtplib -- SMTP プロトコル クライアント

smtplibモジュールは、SMTPまたはESMTPのリスナーデーモンを備えた 任意のインターネット上のホストにメイルを送るために使用することができる SMTPクライアント・セッション・オブジェクトを定義します。 SMTPおよびESMTPオペレーションの詳細は、 RFC 821 (Simple Mail Transfer Protocol) や RFC 1869 (SMTP Service Extensions)を調べてください。

クラス SMTP( [host[, port[, local_hostname]]])
SMTPインスタンスはSMTPコネクションをカプセル化し、 SMTPとESMTPの命令をサポートをします。 オプションであるhostとportを与えた場合は、 SMTPクラスのインスタンスが作成されると同時に、 connect()メソッドを呼び出し初期化されます。 また、ホストから応答が無い場合は、SMTPConnectErrorが上げられます。

普通に使う場合は、初期化と接続を行ってから、 sendmail()quit()メソッドを呼びます。 使用例は先の方で記載しています。

このモジュールの例外には次のものがあります:

exception SMTPException
このモジュールの例外クラスのベースクラスです。

exception SMTPServerDisconnected
この例外はサーバが突然コネクションを切断するか、 もしくはSMTPインスタンスを生成する前にコネクションを張ろうと した場合に上げられます。

exception SMTPResponseException
SMTPのエラーコードを含んだ例外のクラスです。 これらの例外はSMTPサーバがエラーコードを返すときに生成されます。 エラーコードはsmtp_code属性に格納されます。 また、smtp_error属性にはエラーメッセージが格納されます。

exception SMTPSenderRefused
送信者のアドレスが弾かれたときに上げられる例外です。 全てのSMTPResponseException例外に、 SMTPサーバが弾いた`sender'アドレスの文字列がセットされます。

exception SMTPRecipientsRefused
全ての受取人アドレスが弾かれたときに上げられる例外です。 各受取人のエラーは属性recipientsによってアクセス可能で、 SMTP.sendmail()が返す辞書と同じ並びの辞書になっています。

exception SMTPDataError
SMTPサーバが、メッセージのデータを受け入れることを拒絶した時に 上げられる例外です。

exception SMTPConnectError
サーバへの接続時にエラーが 発生した時に上げられる例外です。

exception SMTPHeloError
サーバーが"HELO"メッセージを弾いた時に上げられる例外です。

参考:

RFC 821, Simple Mail Transfer Protocol
SMTP のプロトコル定義 です。このドキュメントでは SMTP のモデル、操作手順、プロトコルの 詳細についてカバーしています。
RFC 1869, SMTP Service Extensions
SMTP に対する ESMTP 拡張の定義です。このドキュメントでは、 新たな命令による SMTP の拡張、サーバによって提供される命令を 動的に発見する機能のサポート、およびいくつかの追加命令定義 について記述しています。



ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。