首页 > 解决方案 > Indy 10 电子邮件附件出现在正文中

问题描述

我已将现有的电子邮件发送程序从 Indy 9 升级到 Indy 10。这在我们的测试环境中运行良好,但在客户端站点上,附件出现在电子邮件正文中。他们的 SMTP 服务器正在为电子邮件添加页脚并<html> ... </html>在整个内容周围添加标签,这导致了这个问题。Indy 9 上的先前版本适用于该客户端。

以下是我们发送的电子邮件示例:

Content-Type: multipart/mixed; boundary="gcJJK3Qk5C6XIV9FEwfRcK=_EH4Oq32hqE"
MIME-Version: 1.0
Date: Thu, 1 Oct 2020 00:02:29 +0100
Message-Id: <20201001000278.SM78660@B-P-S0308-APP1>

This is a multi-part message in MIME format

--gcJJK3Qk5C6XIV9FEwfRcK=_EH4Oq32hqE
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Body text appears here.

--gcJJK3Qk5C6XIV9FEwfRcK=_EH4Oq32hqE
Content-Type: application/octet-stream;
    name="PDA Audit.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
    filename="PDA Audit.pdf"

JVBERi0xLjINCjEgMCBvYmoNCjw8IC9UeXBlIC9DYXRhbG9nIA0KL1BhZ2VzIDMgMCBSIA0KL1Zp
ZXdlclByZWZlcmVuY2VzIDw8IA0KPj4NCj4+IA0KZW5kb2JqDQo1IDAgb2JqDQo8PCAvVHlwZSAv
<more lines here>

--gcJJK3Qk5C6XIV9FEwfRcK=_EH4Oq32hqE--

这有什么问题吗?

我注意到边界不再包含=_NextPart,所以我想知道服务器上的代码是否写得不好并且期待找到它。有没有其他人有类似的问题?

标签: indy

解决方案


问题解决了。Content-Type如果我们只发送带有附件的电子邮件,我们允许 Indy 决定哪种方法有效。如果以前的电子邮件只是文本,Content-Type则设置为text/plain. 当带有附件的电子邮件被发送时,Indy 认为Content-Type已经设置好了,所以没有更改它。设置Content-Type正确解决了问题。


推荐阅读