2013-05-12 44 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