在 iOS 上为亚马逊 SES 创建多部分/混合 MIME

Posted

技术标签:

【中文标题】在 iOS 上为亚马逊 SES 创建多部分/混合 MIME【英文标题】:multipart/mixed MIME creation for amazon SES on iOS 【发布时间】:2014-08-03 10:00:50 【问题描述】:

我基本上从头开始构建一个 MIME,以使用 Amazon 的 SES SDK for ios 发送带有附件的电子邮件。通过生成以下 MIME 并将其编码到 NSData 对象中,我能够收到带有附加电子邮件的电子邮件:

From: me <from@example.com>
To: to@example.com
Subject: "example subject"
MIME-Version: 1.0
Content-Type: image/png
Content-Disposition: attachment; filename="img.png"
Content-Transfer-Encoding: base64

[giant string of base64 encoded png file omitted for brevity]

但是,我还希望在电子邮件正文中包含纯文本消息,但我无法正确解析具有以下格式的多部分/混合消息。它作为带有“无名”附件的电子邮件发送,其中包含第一个边界之后的所有文本。

From: me <from@example.com>
To: to@example.com
Subject: "example subject"
MIME-Version: 1.0
Content-Type: multitype/mixed; boundary="boundary--boundary--boundary"

--boundary--boundary--boundary
Content-Type: text/plain

example plain text

--boundary--boundary--boundary
Content-Type: image/png
Content-Disposition: attachment; filename="img.png"
Content-Transfer-Encoding: base64

[giant string of base64 encoded png file omitted for brevity]

--boundary--boundary--boundary--

有没有人发现我格式化第二个 MIME 的方式有问题? 感谢您的帮助。

【问题讨论】:

【参考方案1】:

您使用了错误的内容类型。具有这种结构的消息的正确 MIME 类型是 multipart/mixed,而不是 multitype/mixed

【讨论】:

以上是关于在 iOS 上为亚马逊 SES 创建多部分/混合 MIME的主要内容,如果未能解决你的问题,请参考以下文章

亚马逊多部分上传 api for mac

如何使用 ses api 跟踪电子邮件

亚马逊 SES 反弹

python 发送电子邮件与亚马逊SES服务

Amazon SES - SMTP 错误状态代码 403:SignatureDoesNotMatch

如何使用 play framework 1.x 和 Amazon SES 发送电子邮件?