【问题标题】:Amazon SES Friendly From Header来自标头的 Amazon SES 友好
【发布时间】:2015-04-10 10:51:28
【问题描述】:

我在让 Amazon SES 显示友好的 FROM 标头时遇到了一些问题。问题似乎是 SES 在我之前插入了一个额外的来自标题。

我正在使用 Python boto,并使用 send_raw_email 方法发送 MIME 消息。

to_str = 'Name <name@domain.com>'
from_str = 'Name2 <name2@domain.com>'
msg = MIMEMultipart('alternative')
msg['Subject'] = 'Hello World'
msg['From'] = from_str
msg['To'] = to_str
msg.attach(MIMEText(em_plain, 'plain'))
msg.attach(MIMEText(em_html, 'html'))
ses_connection.send_raw_email(msg.as_string(), source=from_str, destinations=to_str)

我在发送的邮件标题中得到的内容如下所示:

Subject: Hello World
Date: Thu, 9 Apr 2015 20:47:31 +0000
Message-ID: <blah-blah-blah@email.amazonses.com>
From: name2@domain.com
X-SES-Outgoing: 2015.blah.blah
Feedback-ID: 1.us-east-1.blah//blah=:AmazonSES

From: "Name2" <name2@domain.com>
To: "Name" <name@domain.com>

结果是用户的邮箱不显示友好名称。网络上的大量信息表明这是可能的,但我无法使其正常工作。

进一步研究,如果我在调用 send_raw_email 时省略了可选的源参数,则调用将失败,并显示有关缺少 From 标头的错误...尽管它已在 MimeMultipart 对象中设置。

所以,我认为有两个问题 - 首先,如果我在源参数中传递一个友好的 From 标头,它会被剥离为仅电子邮件地址。其次,无法识别 MimeMultipart 中的 From。

【问题讨论】:

  • 您在 From: 标头中显示了两个不同的电子邮件地址。如果这真的是你正在做的事情,那么答案应该是不言而喻的。否则,请编辑问题以使其与此处发生的事情更紧密地保持一致。
  • 在 MimeMultipart 对象中设置 From 标头时使用相同的电子邮件地址,并作为 send_raw_email 方法的参数。还更新了上面的一些新细节。

标签: python amazon-web-services boto


【解决方案1】:

想通了。

MIMEMultipart 对象的操作顺序很重要。

您必须先设置 From 标题,然后是 To,然后是 Subject。

如果您按此顺序执行此操作,那么您可以放心地在 send_raw_email 调用中省略可选的源和目标参数。

这似乎是 SES 的限制/问题,因为许多其他邮件服务器不要求 From 标头位于主题之前。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-22
    • 2012-09-14
    • 2020-03-18
    • 1970-01-01
    • 2015-06-13
    • 2015-11-14
    • 2012-06-18
    • 1970-01-01
    相关资源
    最近更新 更多