教程 > scrapy 教程 > 阅读:40

scrapy 发送邮件——迹忆客-ag捕鱼王app官网

scrapy 可以使用自己的工具发送电子邮件,称为 twisted 非阻塞 io,它远离爬虫的非阻塞 io。 我们可以配置发送电子邮件的一些设置,并提供用于发送附件的简单 api。

实例化 mailsender 的方法有两种,如下表所示

序号 参数 描述
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 类参考

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 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)

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

序号 参数 描述
1 to(list) 它指的是电子邮件接收者。
2 subject(str) 它指定电子邮件的主题。
3 cc(list) 它指的是接收者列表。
4 body(str) 它指的是电子邮件正文数据。
5 attachs(iterable) 它指的是电子邮件的附件、附件的 mimetype 和附件的名称。
6 mimetype(str) 它表示电子邮件的 mime 类型。
7 charset(str) 它指定用于电子邮件内容的字符编码。

邮件设置

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

序号 设置 描述 默认值
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

查看笔记

扫码一下
查看教程更方便
网站地图