python html邮件失败

2024-10-01 09:21:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力找出下面的代码出了什么问题。 我正在尝试发送html邮件。在

NOW = datetime.datetime.now()

 def sendEmail(msg):
    global NOW
    global SENDER
    global EMAILTARGET
    today = "%s/%s/%s" % (NOW.month,NOW.day,NOW.year)
    # Create message container - the correct MIME type is multipart/alternative.
    msg = MIMEMultipart('alternative')
    msg['Subject'] = "SAR Data Report - %s" % today
    msg['From'] = SENDER
    msg['To'] = EMAILTARGET
    chunk = MIMEText(msg, 'html')
    msg.attach(chunk)
    s = smtplib.SMTP('localhost')
    s.sendmail(SENDER, EMAILTARGET, msg.as_string())
    s.quit()

上面的代码给出了以下错误:

^{pr2}$

Tags: 代码todaydatetimedefhtml邮件msgglobal
2条回答

您将msg,它是一个MIMEMultipart对象,传递给MIMEText初始值设定项,它需要一个字符串。您应该传递一个包含要附加的HTML的字符串,而不是要附加到的邮件。在

代码中的错误是,您将msg用作函数的in参数,它与MIME消息容器(都命名为msg)发生冲突。在

您需要做的是将in参数的名称更改为其他名称,例如html

def sendEmail(html):
...
chunk = MIMEText(html, 'html')
...

相关问题 更多 >