2013-05-12 6 views
11

Sto cercando di inviare una e-mail in Python:Nessun attributo 'SMTP', l'errore quando si tenta di inviare e-mail in 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() 

Capisco che questo non è probabilmente il formato di messaggio corretto.

In ogni modo, si ottiene un errore:

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' 

io non capisco quello che sto facendo male qui ... Tutto ciò non è corretto?

NOTA: tutti i periodi sono sostituzioni per password/email/percorsi file/ecc.

risposta

44

Python ha già un email module. Il nome del tuo script è email.py, che impedisce smtplib di importare il modulo integrato email.

Rinominare lo script su un valore diverso da email.py e il problema scompare.

+7

Inoltre, ricordarsi di (ri) spostare il file pyc. – RandomInsano

Problemi correlati