indy - 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
,所以我想知道服务器上的代码是否写得不好并且期待找到它。有没有其他人有类似的问题?
解决方案
问题解决了。Content-Type
如果我们只发送带有附件的电子邮件,我们允许 Indy 决定哪种方法有效。如果以前的电子邮件只是文本,Content-Type
则设置为text/plain
. 当带有附件的电子邮件被发送时,Indy 认为Content-Type
已经设置好了,所以没有更改它。设置Content-Type
正确解决了问题。
推荐阅读
- python - Keras:如何获得两个以上类别的预测标签
- javascript - 如何在nodejs中异步导出模块
- java - 如何自定义 SpringWebFlux WebClient xml+rss JAXB 反序列化?
- excel - 基于多列的条件累积和
- c++ - 信号/插槽 Qt5 C++
- .htaccess - 如果从 http 重定向到 https 已打开,则 pinterest 保存按钮不起作用
- html - 为什么我不能居中这个表格?
- dart - 错误“类型'未来
' 不是 'StreamTransformer 类型的子类型 - , 列表
>'" - c - 如何在这里使用 fscanf 从文件中写入变量?
- python - GBM生存的难以置信的可变重要性:重要性的恒定差异