Scrapy - 傳送電子郵件



描述

Scrapy可以使用其自身名為Twisted 非阻塞IO的工具來發送電子郵件,這避免了爬蟲的非阻塞IO。您可以配置傳送電子郵件的少量設定,並提供傳送附件的簡單API。

如以下表格所示,有兩種方法可以例項化MailSender:

序號 引數 方法
1 from scrapy.mail import MailSender mailer = MailSender() 使用標準建構函式。
2 mailer = MailSender.from_settings(settings) 使用Scrapy設定物件。

以下程式碼行傳送一封不帶附件的電子郵件:

mailer.send(to = ["receiver@example.com"], subject = "subject data", body = "body data", 
   cc = ["list@example.com"])

MailSender 類參考

MailSender類使用Twisted 非阻塞IO從Scrapy傳送電子郵件。

class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None, 
   smtppass = None, smtpport = None)

下表顯示了MailSender類中使用的引數:

序號 引數 & 描述
1

smtphost (str)

用於傳送電子郵件的SMTP主機。如果未指定,則使用MAIL_HOST設定。

2

mailfrom (str)

用於傳送電子郵件的傳送方地址。如果未指定,則使用MAIL_FROM設定。

3

smtpuser

指定SMTP使用者。如果未指定,則使用MAIL_USER設定,如果沒有提到則不會進行SMTP驗證。

4

smtppass (str)

指定用於驗證的SMTP密碼。

5

smtpport (int)

指定用於連線的SMTP埠。

6

smtptls (boolean)

實現使用SMTP STARTTLS。

7

smtpssl (boolean)

使用安全的SSL連線。

MailSender類參考中指定了以下兩種方法。第一種方法:

classmethod from_settings(settings)

它透過使用Scrapy設定物件來整合。它包含以下引數:

settings (scrapy.settings.Settings object) - 被視為電子郵件接收者。

另一種方法:

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

下表包含上述方法的引數:

序號 引數 & 描述
1

to (list)

指電子郵件接收者。

2

subject (str)

指定電子郵件的主題。

3

cc (list)

指接收者列表。

4

body (str)

指電子郵件正文資料。

5

attachs (iterable)

指電子郵件的附件、附件的MIME型別和附件的名稱。

6

mimetype (str)

表示電子郵件的MIME型別。

7

charset (str)

指定用於電子郵件內容的字元編碼。

郵件設定

以下設定確保無需編寫任何程式碼即可在專案中使用MailSender類配置電子郵件。

序號 設定 & 描述 預設值
1

MAIL_FROM

指用於傳送電子郵件的傳送方郵箱。

'scrapy@localhost'
2

MAIL_HOST

指用於傳送電子郵件的SMTP主機。

'localhost'
3

MAIL_PORT

指定用於傳送電子郵件的SMTP埠。

25
4

MAIL_USER

指SMTP驗證。如果此設定設定為停用,則不會進行驗證。

None
5

MAIL_PASS

提供用於SMTP驗證的密碼。

None
6

MAIL_TLS

提供使用SSL/TLS將不安全連線升級到安全連線的方法。

False
7

MAIL_SSL

實現使用SSL加密連線。

False
廣告
© . All rights reserved.