Scrapy – 发送电子邮件
Scrapy – 发送电子邮件
描述
Scrapy 可以使用自己的工具发送电子邮件,称为Twisted 非阻塞 IO,它远离爬虫的非阻塞 IO。您可以配置发送电子邮件的一些设置,并提供简单的 API 来发送附件。
有两种方法可以实例化 MailSender,如下表所示 –
Sr.No | 参数 | 方法 |
---|---|---|
1 | from scrapy.mail import MailSender mailer = MailSender() | 通过使用标准构造函数。 |
2 | mailer = MailSender.from_settings(settings) | 通过使用 Scrapy 设置对象。 |
以下行发送不带附件的电子邮件 –
mailer.send(to = ["[email protected]"], subject = "subject data", body = "body data", cc = ["[email protected]"])
MailSender 类参考
MailSender 类使用Twisted 非阻塞 IO从 Scrapy 发送电子邮件。
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None, smtppass = None, smtpport = None)
下表显示了MailSender类中使用的参数–
Sr.No | 参数及说明 |
---|---|
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 | 参数及说明 |
---|---|
1 |
to (list) 它指的是电子邮件接收者。 |
2 |
subject (str) 它指定电子邮件的主题。 |
3 |
cc (list) 它指的是接收者列表。 |
4 |
body (str) 它指的是电子邮件正文数据。 |
5 |
attachs (iterable) 它指的是电子邮件的附件、附件的 mimetype 和附件的名称。 |
6 |
mimetype (str) 它代表电子邮件的 MIME 类型。 |
7 |
charset (str) 它指定用于电子邮件内容的字符编码。 |
邮件设置
下面的设置确保我们不用写任何代码,就可以使用项目中的MailSender类来配置一封电子邮件。
Sr.No | 设置和说明 | 默认值 |
---|---|---|
1 |
MAIL_FROM 它是指发送电子邮件的发件人电子邮件。 |
‘scrapy@localhost’ |
2 |
MAIL_HOST 它是指用于发送电子邮件的 SMTP 主机。 |
‘本地主机’ |
3 |
MAIL_PORT 它指定用于发送电子邮件的 SMTP 端口。 |
25 |
4 |
MAIL_USER 它指的是 SMTP 验证。如果此设置设置为禁用,则不会进行验证。 |
没有任何 |
5 |
MAIL_PASS 它提供用于 SMTP 验证的密码。 |
没有任何 |
6 |
MAIL_TLS 它提供了使用 SSL/TLS 将不安全连接升级为安全连接的方法。 |
错误的 |
7 |
MAIL_SSL 它使用 SSL 加密连接实现连接。 |
错误的 |