34

我正在尝试用 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'

我不太明白我在这里做错了什么......有什么不正确的吗?

注意:所有句点都是密码/电子邮件/文件路径/等的替换。

4

2 回答 2

129

Python 已经有一个email模块。您的脚本名称是email.py,这会阻止smtplib导入内置email模块。

将您的脚本重命名为其他email.py内容,问题就会消失。

于 2013-05-12T21:34:36.177 回答
0
import smtplib
conn = smtplib.SMTP('imap.gmail.com',587)
conn.ehlo()
conn.starttls()
conn.login('youremail@gmail.com', 'your_password')

conn.sendmail('from@gmail.com','to@gmail.com','Subject: What you like? \n\n Reply Reply Reply')
conn.quit()
于 2019-08-22T11:25:35.953 回答