Scrapy教程

Scrapy 发送电子邮件

说明

Scrapy 可以使用自己的工具发送电子邮件,称为 Twisted non-blocking IO 远离爬虫的非阻塞IO。您可以配置发送电子邮件的少数设置,并提供简单的 API 发送附件。
有两种方法可以实例化 MailSender,如下表所示-
参数 方法
from scrapy.mail import MailSender mailer = MailSender() 使用标准构造函数。
mailer = MailSender.from_settings(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 类中使用的参数-
参数和说明
smtphost (str)
SMTP 主机用于发送电子邮件。如果不是,则将使用 MAIL_HOST 设置。
mailfrom (str)
收件人地址用于发送邮件。如果不是,则将使用 MAIL_FROM 设置。
smtpuser
指定SMTP用户。如果未使用,则将使用 MAIL_USER 设置,如果未提及,则不会进行 SMTP 验证。
smtppass (str)
它指定用于验证的SMTP pass。
smtpport (int)
指定连接的SMTP端口。
smtptls (boolean)
它使用 SMTP STARTTLS 实现。
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)
下表包含上述方法的参数-
参数和说明
to (list)
它指的是电子邮件接收者。
subject (str)
指定邮件的主题。
cc (list)
指的是接收者的列表。
body (str)
它指的是电子邮件正文数据。
attachs (iterable)
它指的是电子邮件的附件、附件的 mimetype 和附件的名称。
mimetype (str)
表示电子邮件的 MIME 类型。
charset (str)
它指定用于电子邮件内容的字符编码。

邮件设置

下面的设置确保我们不用写任何代码,就可以使用项目中的MailSender类配置一封邮件。
设置和说明 默认值
MAIL_FROM
指发送邮件的发件人邮箱。
'scrapy@localhost'
MAIL_HOST
指用于发送邮件的SMTP主机。
'本地主机'
MAIL_PORT
它指定用于发送电子邮件的 SMTP 端口。
MAIL_USER
它指的是 SMTP 验证。如果此设置设置为禁用,则不会进行验证。
MAIL_PASS
它提供用于 SMTP 验证的密码。
MAIL_TLS
它提供了将不安全连接升级为使用 SSL/TLS 的安全连接的方法。
MAIL_SSL
它使用 SSL 加密连接实现连接。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4