python - 电子邮件标题中的顺序重要吗?
问题描述
我正在使用 smtplib 创建一个 MIMEMultipart 电子邮件,结果是一个如下所示的标题。
MIME-Version: 1.0
Content-Type: multipart/alternative; charset="utf-8"; boundary="===============2613033831060434871=="
Content-Transfer-Encoding: base64
Subject: Your report is ready
From: no-reply@example.com
To: someone@example.com
这是一个有效的电子邮件标题吗?除了一个人在显示电子邮件正文之前遇到他们的电子邮件被切断之外,没有遇到任何投诉。他们声称这是因为 Content-Type 出现在错误的位置。
这就是消息的创建方式
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from cl.library.htmlutils import html_to_text
def make_multipart_email(from_addr, to_addr, html, subject=None, text=None):
text = text or html_to_text(html)
msg = MIMEMultipart('alternative')
msg.set_charset('utf8')
msg['Subject'] = subject
msg['From'] = from_addr
msg['To'] = to_addr
msg.attach(MIMEText(text, 'plain', 'UTF-8'))
msg.attach(MIMEText(html, 'html', 'UTF-8'))
return msg
解决方案
推荐阅读
- reactjs - Material-ui Google Maps Place 组件放置在我的自定义函数中时不保留文本
- javascript - 引导日期选择器显示空框
- node.js - Kotlin/JS — 使用 NPM 依赖项中定义的类型编译 JS 库
- amazon-web-services - 限制触发 lambda 的外部服务的 TPS
- symfony - 控制器外的教义查询 Symfony 2
- algorithm - 多对一分配问题是NP难的吗?
- c - McAfee 隔离 Visual Studio 项目
- angular - Angular - 错误 TS2307:找不到模块“./_helpers/must-match.validator”
- angular - 角度表单提交并重置表单值后
- python - Qt Python 访问 QTabWidget 中选项卡的内容