发送电子邮件

虽然Python通过smtplib库发送电子邮件比较容易,但Scrapy提供了自己的发送电子邮件的功能,这非常易于使用,并且使用Twisted非阻塞IO实现,以避免干扰非阻塞IO爬行器。它还提供了一个用于发送附件的简单API,并且通过一些设置很容易配置。

快速的例子

有两种方式来实例化邮件发件人。您可以使用标准构造函数实例化它:

从scrapy.mail导入MailSender

mailer = MailSender()

或者您可以实例化通过Scrapy设置对象,这将尊重设置:

mailer = MailSender.from_settings(设置)

这里是如何使用它发送电子邮件(没有附件):

mailer.send(to = [“[email protected]”],subject =“Some subject”,body =“Some body”,cc = [“[email protected]”])

MailSender类引用

MailSender是用于从Scrapy发送电子邮件的首选类,因为它使用了Twisted非阻塞IO,就像框架的其余部分。

class scrapy.mail.MailSender(smtphost = None,mailfrom = None,smtpuser = None,smtppass = None,smtpport = None)

参数:

smtphost(str) - 用于发送电子邮件的SMTP主机。如果省略,将使用MAIL_HOST设置。

mailfrom(str) - 用于发送电子邮件的地址(From:标题)。如果省略,将使用MAIL_FROM设置。

smtpuser - SMTP用户。如果省略,将使用MAIL_USER设置。如果没有给出,则不会执行SMTP验证。

smtppass(s​​tr) - SMTP通过验证。

smtpport(int) - 要连接的SMTP端口

smtptls(boolean) - 强制使用SMTP STARTTLS

smtpssl(boolean) - 强制使用安全的SSL连接

classmethod from_settings(settings)

实例化使用Scrapy设置对象,这将抵消这些Scrapy设置。

参数:settings(scrapy.settings.Settings object) - 电子邮件收件人

send(to,subject,body,cc = None,attachs =(),mimetype ='text / plain',charset = None)

发送电子邮件给给定的收件人。

参数:

到(str或str列表) - 电子邮件收件人

subject(str) - 电子邮件的主题

cc(str或str的列表) - 到CC的电子邮件

身体(str) - 电子邮件身体

attach(iterable) - 一个可重复的元组(attach_name,mimetype,file_object),其中attach_name是具有将出现在电子邮件附件上的名称的字符串,mimetype是附件的mimetype,file_object是一个可读的文件对象,具有附件的内容

mimetype(str) - 电子邮件的MIME类型

charset(str) - 用于电子邮件内容的字符编码

邮件设置

这些设置定义了MailSender类的默认构造函数值,可用于在项目中配置电子邮件通知,而无需编写任何代码(对于那些使用MailSender的扩展和代码)。

MAIL_FROM

默认值:'scrapy @ localhost'

发送电子邮件使用(发件人:标题)发送电子邮件。

MAIL_HOST

默认值:'localhost'

用于发送电子邮件的SMTP主机。

MAIL_PORT

默认值:25

用于发送电子邮件的SMTP端口。

MAIL_USER

默认值:无

用于SMTP认证的用户。如果禁用,则不会执行SMTP验证。

MAIL_PASS

默认值:无

用于SMTP身份验证的密码以及MAIL_USER。

MAIL_TLS

默认值:False

执行使用STARTTLS。 STARTTLS是采取现有不安全连接的方式,并使用SSL / TLS将其升级到安全连接。

MAIL_SSL

默认值:False

使用SSL加密连接强制连接

results matching ""

    No results matching ""