在Python中使用HTML发送电子邮件
我正在尝试使用python发送电子邮件。我正在尝试用HTML格式格式化我的电子邮件。代码如下:-在Python中使用HTML发送电子邮件,python,html,email,Python,Html,Email,我正在尝试使用python发送电子邮件。我正在尝试用HTML格式格式化我的电子邮件。代码如下:- sender = 'dummy@dummy.com' receivers = ['abc@abc.com'] message = message = """From: team <team@temp.com> To: To Person <me@me.com> MIME-Version: 1.0 Content-type: text/html Subject: Daily R
sender = 'dummy@dummy.com'
receivers = ['abc@abc.com']
message = message = """From: team <team@temp.com>
To: To Person <me@me.com>
MIME-Version: 1.0
Content-type: text/html
Subject: Daily Report
<html>
<table>
Report
<% for i in rows: %>
<tr>
<td> <%= rows[0][1] %>
</tr>
<% end %>
</table>
<b>This is HTML message.</b>
<h1>This is headline.</h1>
</html>
"""
smtpObj = smtplib.SMTP('SMTP mailer')
smtpObj.sendmail(sender, receivers, message)
sender=dummy@dummy.com'
接收者=['abc@abc.com']
message=message=“”发件人:团队
致:致人
MIME版本:1.0
内容类型:text/html
主题:日报
报告
这是一条HTML消息。
这是标题。
"""
smtpObj=smtplib.SMTP('smtpmailer')
smtpObj.sendmail(发送者、接收者、消息)
我根据某种条件从数据库中提取行,并将其存储在“rows”变量中。我试图根据返回的行数循环创建HTML表
每当我发送电子邮件时,它都不会识别我编写的for循环。
它以粗体形式标识“这是HTML消息”,以H1格式标识“这是标题”
我做错了什么?您想使用创建HTML的。对于Python,您正在使用的消息字符串只是一个字符串,而不是其他字符串。“”就是这个文本,Python不会对它进行任何处理
您的邮件格式不正确,原因如下:
- 必须使用CRLF('\r\n')作为换行符,仅LF(\n')是非法的
- 必须用CRLF(即一条空行)将标题和正文分开
要使用Python发送HTML格式的消息,我建议您使用
email.mime
,c.f.Ok中的功能。我会用Jinja2