如何在python中发送电子邮件

ha2*_*109 2 python

import smtplib

SERVER = "localhost"

FROM = "sender@example.com"
TO = ["user@example.com"]

SUBJECT = "Hello!"

TEXT = "This message was sent with Python's smtplib."
server = smtplib.SMTP(SERVER)
server.sendmail(FROM, TO, message)
server.quit()
Run Code Online (Sandbox Code Playgroud)

这是错误的:

'**The debugged program raised the exception unhandled AttributeError
"'module' object has no attribute 'SMTP'"
File: /home/an/Desktop/email.py, Line: 13**'
Run Code Online (Sandbox Code Playgroud)

Bjo*_*orn 12

将您的文件重命名为email.py以外的其他内容.还要删掉任何遗留下来的email.pyc文件.问题解决了.

  • 它确实解决了这个问题......但它的来源是什么? (2认同)

小智 5

发生这种情况是因为电子邮件是python标准的内置库.如果你将程序重命名为其他东西(如上所述),那应该可以解决问题.

  • 你是什​​么意思,'可怜'?这是Python的绝对杀手级功能 - 可以随时覆盖您喜欢的任何内容.Python的理念是"我们都在这里同意成年人",并允许你做自己喜欢的事情. (7认同)
  • 它不是命名空间,而是一个库.如果您将自己的system32.dll或其他任何内容放在exe目录中,也会发生同样的事情.它正在寻找email.py,它恰好在源目录而不是python libs目录中找到它. (2认同)