通过Raspberry Pi发送电子邮件Hotmail帐户



我刚刚在Raspbian OS:下用Python编写了这段代码

import smtplib
from = '****@hotmail.de'
to   = '****@hotmail.de'
msg  = 'Testmail'
usr = '****@hotmail.de'
psw = '****'
server = smtplib.SMTP('smtp.live.de',25)
server.login (usr,psw)
server.sendmail (from, to, msg)
server.quit()

并得到以下错误消息:

Traceback (most recent call last):
File "ail.py", line 1, in <module>
import smtplib
File "/usr/lib/python2.7/smtplib.py", line 46, in <module>
import email.utils
File "/home/pi/email.py", line 6, in <module>
smtp =smtplib.SMTP('smtp.live.com',25)
AttributeError: 'module' object has no attribute 'SMTP'

我的错是什么?有人能帮帮我吗?

问候

您的问题是您将脚本命名为email.py,或者可能是它的早期版本。这意味着它隐藏了标准库email模块/包。因此,当smtplib尝试import emailimport email.utils时,它会得到您的代码,而不是它想要的stdlib代码。

解决方案是重命名脚本,使其不匹配任何stdlib模块和包(或者至少不匹配任何直接或间接使用的模块和包)。

如果您已经将其重命名为ail.py(正如回溯所示),并且它仍然会引起问题,请确保删除您的原始email.py以及任何同名的.pyc/.pyo文件。只要它们在当前工作目录中(或sys.path上的其他位置),它们仍然可以干扰stdlib。

最新更新