首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有Thonny才能发送简单的电子邮件

只有Thonny才能发送简单的电子邮件
EN

Stack Overflow用户
提问于 2019-04-27 16:33:05
回答 1查看 191关注 0票数 0

我开始了一个小的覆盆子项目,并坚持发送一个简单的电子邮件。Gmail smtp已设置。代码在Thonny中运行良好(尽管它只为第一个接收器发送E-Mal,而不是为两个接收器都发送),但是当我从终端(python report.py)触发它时,我得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "report.py", line 15, in <module>
    with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
TypeError: __init__() got an unexpected keyword argument 'context'

正如我上面提到的,从Thonny开始,它是有效的。我计划触发一些脚本,就像这次通过Crontab安排的一样。我设置了Crontab文件,但我假设它什么也不做,因为它每次都会出错。

提前感谢您的帮助!

report.py内容:

代码语言:javascript
复制
import smtplib, ssl

port = 465  # For SSL
smtp_server = "smtp.gmail.com"
sender_email = "****@gmail.com"
receiver_email = "****@gmail.com,xxxx@gmail.com"
password = "****"
message = """\
Subject: Hi there

This message is sent from Python."""

context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-27 18:39:56

smtplib.SMTP_SSLcontext参数是在Python3.3中添加的。

Thonny使用内置的Python3.7解释器,但许多类Unix操作系统的默认Python解释器是Python2.x。使用Python 3显式调用脚本以防止出现错误:

代码语言:javascript
复制
python3 report.py
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55878712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档