Scrapy – 发送电子邮件

Scrapy – 发送电子邮件

描述

Scrapy可以使用它自己的设施,即Twisted非阻塞IO 来发送电子邮件,这与爬虫的非阻塞IO无关。你可以配置发送电子邮件的一些设置,并为发送附件提供简单的API。

有两种方法来实例化MailSender,如下表所示

序号 参数 方法
1 from scrapy.mail import MailSender mailer = MailSender() 通过使用一个标准的构造函数。
2 mailer = MailSender.from_settings(settings) 通过使用Scrapy设置对象。

The following line sends an e-mail without attachments −

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对象) --它被视为电子邮件接收者。

另一种方法、

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的验证。如果此设置为禁用,则不会有任何验证。
5 MAIL_PASS 它提供用于SMTP验证的密码。
6 MAIL_TLS 它提供了使用SSL/TLS将不安全的连接升级为安全连接的方法。 假的
7 MAIL_SSL 它实现了使用SSL加密的连接。 False

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程