電子メールの送信

Pythonは smtplib ライブラリを介して電子メールを比較的簡単に送信できますが、Scrapyは電子メールを送信するための独自の機能を提供します。これは非常に使いやすく、クローラーの非ブロッキングIOの干渉を避けるため、 Twisted non-blocking IO を使用して実装されています。また、添付ファイルを送信するためのシンプルなAPIを提供し、いくつかの 電子メール設定 で非常に簡単に構成(configure)できます。

簡単な例

メール送信者をインスタンス化するには2つの方法があります。あなたは標準コンストラクタを使用してインスタンス化できます:

from scrapy.mail import MailSender
mailer = MailSender()

または、 電子メール設定 を尊重するScrapy設定オブジェクトを渡してインスタンス化できます。

mailer = MailSender.from_settings(settings)

そして、以下を使用して(添付ファイルなしで)電子メールを送信する方法があります:

mailer.send(to=["someone@example.com"], subject="Some subject", body="Some body", cc=["another@example.com"])

MailSenderクラス・リファレンス

MailSenderは、フレームワークの残りの部分と同様に、 Twisted non-blocking IO を使用するため、Scrapyから電子メールを送信するために使用する優先クラスです。

class scrapy.mail.MailSender(smtphost=None, mailfrom=None, smtpuser=None, smtppass=None, smtpport=None)
パラメータ
  • smtphost (str or bytes) -- 電子メールの送信に使用するSMTPホスト。省略すると、 MAIL_HOST 設定が使用されます。

  • mailfrom (str) -- メールの送信に使用されるアドレス( From: ヘッダー内)。 省略すると、 MAIL_FROM 設定が使用されます。

  • smtpuser -- SMTPユーザー。省略すると、 MAIL_USER 設定が使用されます。指定しない場合、SMTP認証は実行されません。

  • smtppass (str or bytes) -- 認証用のSMTPパスワード

  • smtpport (int) -- 接続のためのSMTPポート番号

  • smtptls (boolean) -- SMTP STARTTLSの使用を強制する

  • smtpssl (boolean) -- 安全なSSL接続の使用を強制する

classmethod from_settings(settings)

これらのScrapy電子メール設定 を尊重するScrapy設定オブジェクトを使用してインスタンス化します。

パラメータ

settings (scrapy.settings.Settings object) -- 電子メールの受信者

send(to, subject, body, cc=None, attachs=(), mimetype='text/plain', charset=None)

指定された受信者にメールを送信します。

パラメータ
  • to (str or list of str) -- 電子メールの受信者

  • subject (str) -- 電子メールの件名

  • cc (str or list of str) -- カーボン・コピー(CC)への電子メール

  • body (str) -- 電子メール本文

  • attachs (iterable) -- タプル (attach_name, mimetype, file_object) の反復可能オブジェクト(iterable)。 ここで、 attach_name は、電子メールの添付ファイルに表示される名前の文字列で、 mimetype は添付ファイルのMIMEタイプであり、 file_object は添付ファイルの内容を含む読み取り可能なファイルオブジェクトです

  • mimetype (str) -- 電子メールのMIMEタイプ

  • charset (str) -- 電子メールのコンテンツに使用する文字エンコード

メール設定

これらの設定は、 MailSender クラスのデフォルトのコンストラクター値を定義し、コードを記述せずにプロジェクトで電子メール通知を構成(configure)するために使用できます( MailSender を使用する拡張機能およびコード用))。

MAIL_FROM

デフォルト: 'scrapy@localhost'

電子メールの送信に使用する送信者の電子メール( From: ヘッダー)。

MAIL_HOST

デフォルト: 'localhost'

電子メールの送信に使用するSMTPホスト。

MAIL_PORT

デフォルト: 25

電子メールの送信に使用するSMTPポート。

MAIL_USER

デフォルト: None

SMTP認証に使用するユーザー。無効にすると、SMTP認証は実行されません。

MAIL_PASS

デフォルト: None

MAIL_USER とともに、SMTP認証に使用するパスワード。

MAIL_TLS

デフォルト: False

STARTTLSを使用を強制します。STARTTLSは、既存の安全でない接続を取得し、SSL/TLSを使用して安全な接続にアップグレードする方法です。

MAIL_SSL

デフォルト: False

SSL暗号化接続を使用した接続を強制する