发送电子邮件¶
虽然python使通过 smtplib
Slapy类库提供了自己的发送电子邮件的工具,非常容易使用,并且使用 Twisted non-blocking IO ,以避免干扰爬虫的非阻塞IO。它还提供了一个简单的用于发送附件的API,并且非常容易配置,其中有一些 settings .
快速实例¶
有两种方法可以实例化邮件发送者。您可以使用标准 __init__
方法:
from scrapy.mail import MailSender
mailer = MailSender()
或者您可以通过一个Scrapy设置对象来实例化它,该对象将尊重 settings ::
mailer = MailSender.from_settings(settings)
下面是如何使用它发送电子邮件(不带附件)::
mailer.send(to=["someone@example.com"], subject="Some subject", body="Some body", cc=["another@example.com"])
MailSender 类引用¶
mailsender是从scrappy发送电子邮件的首选类,因为它使用 Twisted non-blocking IO 和框架的其他部分一样。
- class scrapy.mail.MailSender(smtphost=None, mailfrom=None, smtpuser=None, smtppass=None, smtpport=None)¶
- 参数
- classmethod from_settings(settings)¶
使用Scrapy设置对象实例化,该对象将 these Scrapy settings .
- 参数
settings (
scrapy.settings.Settings
object) -- 电子邮件收件人
- send(to, subject, body, cc=None, attachs=(), mimetype='text/plain', charset=None)¶
向指定的收件人发送电子邮件。
- 参数
subject (str) -- 电子邮件的主题
body (str) -- 电子邮件主体
attachs (collections.abc.Iterable) -- 不可数元组
(attach_name, mimetype, file_object)
在哪里?attach_name
是一个字符串,其名称将显示在电子邮件附件中,mimetype
是附件的mimetype,并且file_object
是具有附件内容的可读文件对象mimetype (str) -- 电子邮件的mime类型
charset (str) -- 用于电子邮件内容的字符编码
邮件设置¶
这些设置定义默认值 __init__
方法值 MailSender
类,并且可以用于在不编写任何代码的情况下在项目中配置电子邮件通知(对于使用 MailSender
)
MAIL_FROM¶
违约: 'scrapy@localhost'
要使用的发件人电子邮件 (From:
头)用于发送电子邮件。
MAIL_HOST¶
违约: 'localhost'
用于发送电子邮件的SMTP主机。
MAIL_PORT¶
违约: 25
用于发送电子邮件的SMTP端口。
MAIL_USER¶
违约: None
用于SMTP身份验证的用户。如果禁用,将不执行任何SMTP身份验证。
MAIL_PASS¶
违约: None
用于SMTP身份验证的密码,以及 MAIL_USER
.
MAIL_TLS¶
违约: False
使用starttls强制。starttls是一种获取现有不安全连接并使用ssl/tls将其升级为安全连接的方法。
MAIL_SSL¶
违约: False
使用SSL加密连接强制连接