2013-05-12 91 views
11

我想在Python发送电子邮件时错误:无属性“SMTP”,试图发送电子邮件在Python

import smtplib 


fromaddr = '......................' 
toaddrs = '......................' 
msg = 'Spam email Test' 

username = '.......' 
password = '.......' 

server = smtplib.SMTP('smtp.gmail.com', 587) 
server.ehlo() 
server.starttls() 
server.login(username, password) 
server.sendmail(fromaddr, toaddrs, msg) 
server.quit() 

我明白,这可能是不正确的消息格式。

不管怎么说,我得到一个错误:

C:\.....>python email.py 
Traceback (most recent call last): 
    File "email.py", line 1, in <module> 
    import smtplib 
    File "C:\.....\Python\lib\smtplib.py", line 47, 
in <module> 
    import email.utils 
    File "C:\.....\email.py", line 15, in 
<module> 
    server = smtplib.SMTP('smtp.gmail.com', 587) 
AttributeError: 'module' object has no attribute 'SMTP' 

我不太明白我在做什么错在这里...任何不正确的?

注意:所有的时间段都替换为密码/电子邮件/文件路径/等。

回答

44

Python已经有一个email module。您的脚本名称为email.py,这会阻止smtplib导入内置的email模块。

将您的脚本重命名为email.py以外的内容,问题就会消失。

+7

此外,请记住(重新)移动pyc文件。 – RandomInsano 2013-12-30 21:18:26