无法在Python中使用Scrapy(1.5.1)发送电子邮件

时间:2018-09-20 15:35:58

标签: python email scrapy

我是Python和Scrapy的新手。

我要做的就是仅使用Scrapy发送一封简单的电子邮件。 我已经从创作者的网页上阅读了documentation,但我肯定错过了一些东西,但是我不能完全动手。

代码如下:

from scrapy import mail

mailer = mail.MailSender(smtphost='smtp-mail.outlook.com',
                         mailfrom='someone@hotmail.com',
                         smtpuser='someone@hotmail.com',
                         smtppass='mypassword',
                         smtpport=587,
                         smtptls=True,
                         )


def send_mail(mail_sender):
return mail_sender.send(to=["receiver@hotmail.com"],
                        subject="Hello",
                        body="Hello receiver",
                        mimetype='text/plain')


send_mail(mailer)

更新:我正在使用pycharm运行此脚本,而不是使用scrapy.cmdline。这与为什么我的代码无法正常工作有关吗?

这是我得到的输出:

Process finished with exit code 0

1 个答案:

答案 0 :(得分:1)

问题是我直接从我的IDE (Pycharm)运行脚本。

要在IDE中运行Spider,而无需使用终端,则可以以编程方式调用命令。

Scrapy具有一个允许执行此操作的模块:

from scrapy import cmdline

cmdline.execute("scrapy crawl <spider_name>".split())

草率的电子邮件库就像一个魅力!