web-dev-qa-db-fra.com

Aucun attribut "SMTP", erreur lors de la tentative d'envoi d'un e-mail dans Python

J'essaie d'envoyer un email en 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()

Je comprends que ce n'est probablement pas le bon format de message.

Quoi qu'il en soit, je reçois une erreur:

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'

Je ne comprends pas très bien ce que je fais mal ici ... Quelque chose de mal?

REMARQUE: Toutes les périodes sont des remplacements pour le mot de passe/e-mail/chemins de fichiers/etc.

24
Jacob Kudria

Python a déjà un module email . Le nom de votre script est email.py, ce qui empêche smtplib d'importer le module email intégré.

Renommez votre script en autre chose que email.py et le problème disparaîtra.

85
Blender
import smtplib
conn = smtplib.SMTP('imap.gmail.com',587)
conn.ehlo()
conn.starttls()
conn.login('[email protected]', 'your_password')

conn.sendmail('[email protected]','[email protected]','Subject: What you like? \n\n Reply Reply Reply')
conn.quit()
0
Muneer Ahmad