Scrapy - 发送电子邮件


描述

Scrapy 可以使用自己的工具发送电子邮件,称为Twisted 非阻塞 IO,它远离爬虫的非阻塞 IO。您可以配置发送电子邮件的一些设置,并提供简单的 API 来发送附件。

有两种方法可以实例化 MailSender,如下表所示 -

先生编号 参数 方法
1 从 scrapy.mail 导入 MailSender mailer = MailSender() 通过使用标准构造函数。
2 mailer = MailSender.from_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

邮件发件人 (str)

收件人地址用于发送电子邮件。如果没有,则将使用MAIL_FROM设置。

3

短信用户

它指定 SMTP 用户。如果不使用,则将使用MAIL_USER设置,并且如果未提及,将不会进行 SMTP 验证。

4

smtppass(字符串)

它指定用于验证的 SMTP 通行证。

5

SMTP 端口(整数)

它指定用于连接的 SMTP 端口。

6

smtptls(布尔值)

它使用 SMTP STARTTLS 来实现。

7

smtpssl(布尔值)

它使用安全的 SSL 连接进行管理。

MailSender 类参考中指定了以下两个方法。第一种方法,

classmethod from_settings(settings)

它通过使用 Scrapy 设置对象进行合并。它包含以下参数 -

settings (scrapy.settings.Settings 对象) - 它被视为电子邮件接收器。

另一种方法,

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

下表包含上述方法的参数 -

先生编号 参数及说明
1

到(列表)

它指的是电子邮件接收者。

2

主题(字符串)

它指定电子邮件的主题。

3

抄送(列表)

它指的是接收者列表。

4

身体(力量)

它指的是电子邮件正文数据。

5

附加(可迭代)

它指的是电子邮件的附件、附件的 mimetype 和附件的名称。

6

模仿类型 (str)

它代表电子邮件的 MIME 类型。

7

字符集(str)

它指定用于电子邮件内容的字符编码。

邮件设置

以下设置确保我们无需编写任何代码,就可以使用项目中的 MailSender 类配置电子邮件。

先生编号 设置及说明 默认值
1

MAIL_FROM

指发送邮件的发件人邮箱。

'scrapy@localhost'
2

邮件主机

指用于发送电子邮件的 SMTP 主机。

'本地主机'
3

邮件端口

它指定用于发送电子邮件的 SMTP 端口。

25
4

MAIL_USER

它指的是 SMTP 验证。如果此设置设置为禁用,则不会进行验证。

没有任何
5

邮件通行证

它提供用于 SMTP 验证的密码。

没有任何
6

邮件传输层协议

它提供了使用 SSL/TLS 将不安全连接升级为安全连接的方法。

错误的
7

邮件SSL

它使用 SSL 加密连接来实现连接。

错误的