scrapy 2.3 發(fā)送電子郵件

2021-06-11 10:37 更新

雖然python使通過 ?smtplib? Slapy類庫提供了自己的發(fā)送電子郵件的工具,非常容易使用,并且使用 Twisted non-blocking IO ,以避免干擾爬蟲的非阻塞IO。它還提供了一個簡單的用于發(fā)送附件的API,并且非常容易配置,其中有一些 settings .

快速實例

有兩種方法可以實例化郵件發(fā)送者。您可以使用標準 ?__init__? 方法:

from scrapy.mail import MailSender
mailer = MailSender()

或者您可以通過一個Scrapy設置對象來實例化它,該對象將尊重 settings ::

mailer = MailSender.from_settings(settings)

下面是如何使用它發(fā)送電子郵件(不帶附件)::

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

MailSender 類引用

mailsender是從scrappy發(fā)送電子郵件的首選類,因為它使用 Twisted non-blocking IO 和框架的其他部分一樣。

classscrapy.mail.MailSender(smtphost=Nonemailfrom=Nonesmtpuser=Nonesmtppass=Nonesmtpport=None)
參數(shù)
  • smtphost (str or bytes) -- 用于發(fā)送電子郵件的SMTP主機。如果省略, ?MAIL_HOST? 將使用設置。

  • mailfrom (str) -- 用于發(fā)送電子郵件的地址(在 From: 標題)。如果省略, ?MAIL_FROM? 將使用設置。

  • smtpuser -- SMTP用戶。如果省略, ?MAIL_USER? 將使用設置。如果未提供,則不會執(zhí)行任何SMTP身份驗證。

  • smtppass (str or bytes) -- 用于身份驗證的SMTP通行證。

  • smtpport (int) -- 要連接到的SMTP端口

  • smtptls (bool) -- 使用smtp starttls強制

  • smtpssl (bool) -- 強制使用安全的SSL連接

classmethodfrom_settings(settings)

使用Scrapy設置對象實例化,該對象將 these Scrapy settings .

參數(shù)

settings (?scrapy.settings.Settings? object) -- 電子郵件收件人

send(tosubjectbodycc=Noneattachs=()mimetype='text/plain'charset=None)

向指定的收件人發(fā)送電子郵件。

參數(shù)
  • to (str or list) -- 以字符串或字符串列表的形式顯示電子郵件收件人

  • subject (str) -- 電子郵件的主題

  • cc (str or list) -- 以字符串或字符串列表的形式向CC發(fā)送電子郵件

  • body (str) -- 電子郵件主體

  • attachs (collections.abc.Iterable) -- 不可數(shù)元組 (attach_name, mimetype, file_object) 在哪里? attach_name 是一個字符串,其名稱將顯示在電子郵件附件中, mimetype 是附件的mimetype,并且 file_object 是具有附件內容的可讀文件對象

  • mimetype (str) -- 電子郵件的mime類型

  • charset (str) -- 用于電子郵件內容的字符編碼

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號