web-dev-qa-db-ja.com

「SMTP」属性がありません。Python

私は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'

ここで何が間違っているのかよくわかりません...何か間違っていますか?

注:すべてのピリオドは、パスワード/電子メール/ファイルパス/その他の置き換えです。

24
Jacob Kudria

Pythonにはすでに email module があります。スクリプトの名前はemail.pyです。これにより、smtplibは組み込みのemailモジュールをインポートできません。

スクリプトの名前をemail.py以外に変更すると、問題は解消されます。

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