Scrapy 简明教程
Scrapy - Sending an E-mail
Description
Scrapy 可以使用其名为 Twisted non-blocking IO 的自有工具发送电子邮件,该工具远离爬虫程序的非阻塞 IO。你可以配置发送电子邮件的一些设置,并提供用于发送附件的简单 API。
共有两种实例化 MailSender 的方法,如下表所示 −
Sr.No |
Parameters |
Method |
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 Class Reference
MailSender 类使用 Twisted non-blocking IO 从 Scrapy 发送电子邮件。
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None,
smtppass = None, smtpport = None)
以下表格显示了 MailSender 类中使用的参数 −
Sr.No |
Parameter & Description |
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)
下表包含了上述方法的参数 −
Sr.No |
Parameter & Description |
1 |
to (list) 它指的是电子邮件接收者。 |
2 |
subject (str) 它指定电子邮件的主题。 |
3 |
cc (list) 它指的是接收者列表。 |
4 |
body (str) 此处指电子邮件正文数据。 |
5 |
attachs (iterable) 此处指电子邮件的附件、附件的 MIME 类型和附件的名称。 |
6 |
mimetype (str) 它表示电子邮件的 MIME 类型。 |
7 |
charset (str) 它指定了电子邮件内容使用的字符编码。 |
Mail Settings
通过以下设置确保无需编写任何代码,即可使用项目中的 MailSender 类配置电子邮件。
Sr.No |
Settings & Description |
Default Value |
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 |