我正在尝试使用以下代码创建multipart/related附件:
var
Msg: TIdMessage;
Attachment: TIdAttachmentFile;
begin
Msg := TIdMessage.Create(nil);
try
Attachment := TIdAttachmentFile.Create(Msg.MessageParts, 'D:\temp\CachedImage.jpg');
Attachment.ContentType := 'multipart/related';
Attachment.ContentTransfer := 'binary';
Attachment.ContentDisposition := 'attachment; filename="CachedImage.jpg"';
Msg.SaveToFile('d:\temp\MyFile.eml');
finally
Msg.Free;
end;
end;
我期待它保存为EML文件的附件。但它没有。
只保存了部分标题,仅此而已:
MIME-Version: 1.0
Date: Sat, 25 Mar 2023 09:38:31 +0300
--
Content-Type: multipart/related;
boundary="0dZDwVffh1i=_ZLFRXeMyvVY4y2H5QDJoX"
如何解决这样的问题?我使用 Delphi 10.4.2与安装的Indy版本.
1条答案
按热度按时间6xfqseft1#
您所展示的代码甚至都不正确。为什么要将一个JPG文件指定为
multipart/related
部分本身呢?请阅读Indy网站上的HTML Messages和New HTML Message Builder class,了解在
TIdMessage
中使用multipart/related
的正确方法。您应该将JPG文件放在multipart/related
部件的 * 内部 *,该部件还包含与JPG * 相关 * 的text/html
部件(即,它引用JPG)。例如:
或者