- Scrapy 教程
- Scrapy - 首页
- Scrapy 基本概念
- Scrapy - 概述
- Scrapy - 环境
- Scrapy - 命令行工具
- Scrapy - 爬虫 (Spider)
- Scrapy - 选择器 (Selector)
- Scrapy - 项目 (Item)
- Scrapy - 项目加载器 (Item Loader)
- Scrapy - Shell
- Scrapy - 项目管道 (Item Pipeline)
- Scrapy - 数据导出 (Feed exports)
- Scrapy - 请求 & 响应
- Scrapy - 链接提取器 (Link Extractor)
- Scrapy - 设置
- Scrapy - 异常
- Scrapy 实战项目
- Scrapy - 创建项目
- Scrapy - 定义项目
- Scrapy - 第一个爬虫
- Scrapy - 爬取
- Scrapy - 提取项目
- Scrapy - 使用项目
- Scrapy - 跟踪链接
- Scrapy - 抓取数据
- Scrapy 有用资源
- Scrapy - 快速指南
- Scrapy - 有用资源
- Scrapy - 讨论
Scrapy - 发送电子邮件
描述
Scrapy可以使用其自身名为Twisted 非阻塞IO的工具来发送电子邮件,这避免了爬虫的非阻塞IO。您可以配置发送电子邮件的少量设置,并提供发送附件的简单API。
如以下表格所示,有两种方法可以实例化MailSender:
序号 | 参数 | 方法 |
---|---|---|
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类中使用的参数:
序号 | 参数 & 描述 |
---|---|
1 |
用于发送电子邮件的SMTP主机。如果未指定,则使用MAIL_HOST设置。 |
2 |
用于发送电子邮件的发送方地址。如果未指定,则使用MAIL_FROM设置。 |
3 |
指定SMTP用户。如果未指定,则使用MAIL_USER设置,如果没有提到则不会进行SMTP验证。 |
4 |
指定用于验证的SMTP密码。 |
5 |
指定用于连接的SMTP端口。 |
6 |
实现使用SMTP STARTTLS。 |
7 |
使用安全的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 |
指电子邮件接收者。 |
2 |
指定电子邮件的主题。 |
3 |
指接收者列表。 |
4 |
指电子邮件正文数据。 |
5 |
指电子邮件的附件、附件的MIME类型和附件的名称。 |
6 |
表示电子邮件的MIME类型。 |
7 |
指定用于电子邮件内容的字符编码。 |
邮件设置
以下设置确保无需编写任何代码即可在项目中使用MailSender类配置电子邮件。
序号 | 设置 & 描述 | 默认值 |
---|---|---|
1 |
指用于发送电子邮件的发送方邮箱。 |
'scrapy@localhost' |
2 |
指用于发送电子邮件的SMTP主机。 |
'localhost' |
3 |
指定用于发送电子邮件的SMTP端口。 |
25 |
4 |
指SMTP验证。如果此设置设置为禁用,则不会进行验证。 |
None |
5 |
提供用于SMTP验证的密码。 |
None |
6 |
提供使用SSL/TLS将不安全连接升级到安全连接的方法。 |
False |
7 |
实现使用SSL加密连接。 |
False |