Python Email TypeError: expected string or buffer

Python Email TypeError: expected string or buffer

在发送电子邮件的一个非常简单的示例中:

import smtplib
from email.mime.text import MIMEText

message = MIMEText("test message")
s = smtplib.SMTP('localhost')
s.sendmail("example@example.com", ["example@example.com"], message)

我在代码的最后一行收到以下错误:

类型错误:预期的字符串或缓冲区

我做错了什么?

您需要将 message.as_string() 传递给 sendmail。

在示例中,它看起来像这样:

s.sendmail("example@example.com", ["example@example.com"], message.as_string())