小编pej*_*son的帖子

multipart/mixed消息中的边界字符串不正确

我正在使用Delphi 2006在个人使用的应用程序中创建和发送带有附件的电子邮件.我使用TIdSMTP实例发送消息,然后将副本放入具有TIdIMAP4实例的特定IMAP文件夹中.这与使用BDS2006一起分发的Indy 10版本非常吻合,但有一个例外:电子邮件标题中的时间始终不正确.

如果可以的话,我决定解决这个问题,在寻找解决方案之后,获取最新的Indy 10快照并使用它是最合理的.

这会将正确的时间放入电子邮件标题中,但是会出现一个新问题.现在,添加到IMAP文件夹的邮件标题中的边界字符串与邮件正文中的边界字符串不同!(请注意,通过SMTP发送的邮件是正确的.)

这是来自Indy 10旧版本的相关标题信息:

Content-Type: multipart/mixed; boundary="XNlC6OyS4QSiHY2U=_jsXyps6TR34pFNsh"
MIME-Version: 1.0
Date: Tue, 22 Nov 2011 09:11:58 +0000

A test of the BDS2006-bundled version of Indy

--XNlC6OyS4QSiHY2U=_jsXyps6TR34pFNsh
Content-Type: application/octet-stream;
        name="20111122.xls"
Run Code Online (Sandbox Code Playgroud)

这是来自Indy 10.5.8(我昨天安装的快照10_4702)的相同标题信息:

Content-Type: multipart/mixed; boundary="CDbEncbFvL7RZdOJ3DOIRoRBs=_nBsbZms"
MIME-Version: 1.0
Date: Tue, 22 Nov 2011 07:33:46 -0600

investigating more deeply, why does the boundary indicator change?

--h=_WzGWJei29fng7SqdPpDh1nkJxJZhiGc
Content-Type: application/octet-stream;
    name="20111122.xls"
Run Code Online (Sandbox Code Playgroud)

时间戳是固定的,但现在边界字符串不正确.结果是,消息中似乎什么也没有添加到我的IMAP文件夹中.

以下是创建电子邮件和附件,发送它并将副本放入IMAP文件夹的相关代码:

  FTheMsg.Date := Now;  // FTheMsg is a component dropped onto the form
  FTheMsg.Recipients.EMailAddresses := edMailTo.Text;
  FTheMsg.ClearBody;
  FTheMsg.Subject := 'Glucose …
Run Code Online (Sandbox Code Playgroud)

delphi indy10

5
推荐指数
1
解决办法
3235
查看次数

标签 统计

delphi ×1

indy10 ×1