扫码一下
查看教程更方便
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
类使用 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 |