2013-05-12 12 views
11

Ich versuche, eine E-Mail in Python zu senden:keine Attribute ‚SMTP‘, Fehler beim Versuch E-Mail in Python senden

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() 

Ich verstehe, dass dies wahrscheinlich nicht das richtige Nachrichtenformat.

Anyways, bekomme ich einen Fehler:

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' 

Ich verstehe nicht ganz, was ich falsch hier tue ... Alles, was falsch?

HINWEIS: Alle Zeiten sind Ersetzungen für Passwort/E-Mail/Dateipfade/etc.

Antwort

44

Python hat bereits eine email module. Der Name Ihres Skripts lautet email.py, wodurch verhindert wird, dass smtplib das integrierte Modul email importiert.

Benennen Sie Ihr Skript in etwas anderes als email.py um und das Problem wird verschwinden.

+7

Denken Sie auch daran, die Pyc-Datei (erneut) zu verschieben. – RandomInsano