关于 python 发送 html 型 email 时,无法进行传参问题解决方法

本文出自: forever121.cn/,转载请注明出处

 

最近在写 html email时,遇到了个问题。

函数:from email.mime.text import MIMEText

MIMEText 语法结构: MIMEText(html_content, _subtype="html", _charset='gb2312')`

python 无法对 html_content 中的 %s 进行识别,无法将变量传入

报错 ValueError: unsupported format character '!' (0x21) at index

网上对于 html email 的 讲解较少,无法找到这个报错

在进一步排查中,我发现如果在html_content后不进行传参,也就是

MIMEText("""html....%s....content"""%value, _subtype="html", _charset='gb2312') 邮件发送的内容会直接是 %s

关于 python 发送 html 型 email 时,无法进行传参问题解决方法_第1张图片

所以我怀疑 html_content 因代码量很大导致%s无法识别到)

之后我对 html_content 的内容进行的拆分,把 html_content 中 有 %s和无%s 赋值给变量

如:

    header = """

    
"""
   title = """  %s """ %value

然后将所有的变量加在一起

html = header + title

直接传入 MIMEText(html_content=html, _subtype="html", _charset='gb2312'

就可以了

你可能感兴趣的:(python,html,email,html,email)