【问题标题】:Does order matter in email header?电子邮件标题中的顺序重要吗?
【发布时间】:2019-05-23 23:03:30
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: python python-2.7 email rfc5322


    【解决方案1】:

    根据RFC 5322

    ...标头字段不保证按特定顺序排列。

    所以你的电子邮件是有效的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 2012-03-14
      • 2020-12-03
      • 1970-01-01
      • 2017-06-11
      • 2010-10-09
      • 1970-01-01
      相关资源
      最近更新 更多