scrapy 2.3 发送电子邮件

2021-06-11 10:37 更新

虽然python使通过 ​smtplib​ Slapy类库提供了自己的发送电子邮件的工具,非常容易使用,并且使用 Twisted non-blocking IO ,以避免干扰爬虫的非阻塞IO。它还提供了一个简单的用于发送附件的API,并且非常容易配置,其中有一些 settings .

快速实例

有两种方法可以实例化邮件发送者。您可以使用标准 ​__init__​ 方法:

from scrapy.mail import MailSender
mailer = MailSender()

或者您可以通过一个Scrapy设置对象来实例化它,该对象将尊重 settings ::

mailer = MailSender.from_settings(settings)

下面是如何使用它发送电子邮件(不带附件)::

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

MailSender 类引用

mailsender是从scrappy发送电子邮件的首选类,因为它使用 Twisted non-blocking IO 和框架的其他部分一样。

classscrapy.mail.MailSender(smtphost=Nonemailfrom=Nonesmtpuser=Nonesmtppass=Nonesmtpport=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 (bool) -- 使用smtp starttls强制

  • smtpssl (bool) -- 强制使用安全的SSL连接

classmethodfrom_settings(settings)

使用Scrapy设置对象实例化,该对象将 these Scrapy settings .

参数

settings (​scrapy.settings.Settings​ object) -- 电子邮件收件人

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

向指定的收件人发送电子邮件。

参数
  • to (str or list) -- 以字符串或字符串列表的形式显示电子邮件收件人

  • subject (str) -- 电子邮件的主题

  • cc (str or list) -- 以字符串或字符串列表的形式向CC发送电子邮件

  • body (str) -- 电子邮件主体

  • attachs (collections.abc.Iterable) -- 不可数元组 (attach_name, mimetype, file_object) 在哪里? attach_name 是一个字符串,其名称将显示在电子邮件附件中, mimetype 是附件的mimetype,并且 file_object 是具有附件内容的可读文件对象

  • mimetype (str) -- 电子邮件的mime类型

  • charset (str) -- 用于电子邮件内容的字符编码

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号