Indy IMAP在点上切断了消息

时间:2013-07-16 07:28:52

标签: delphi imap indy

我正在使用Indy TIdIMAP4组件的Delphi XE下的UIDRetrieve()函数以及Indy组件版本10.5.7从Exchange服务器接收电子邮件。

这通常可以正常工作,但有时消息会在一个点处被切断,然后是换行符。当点完全位于第76列时会发生这种情况。

实施例: 我使用以下正文的电子邮件1致电IMAPConnection.UIDRetrieve(1, Email);

The message's text will be cut off at the dot at column 76, so exactly here.
This text won't be accessible via TIdMessage.

我致电Email.Body.Text时收到的内容是:

The message's text will be cut off at the dot at column 76, so exactly here

因此Email中没有第二句话。 当我通过telnet访问邮件正文时,它看起来像这样:

The message's text will be cut off at the dot at column 76, so exactly here=
.
This text won't be accessible via TIdMessage.

当我有一个多部分消息并且我通过TIdText(MsgPart).Body.Text访问消息部分正文时,也会发生这种情况。在这种情况下,也不会检索任何邮件附件。

我是否需要设置或运行任何属性我必须在我的IMAP连接或消息对象上调用以避免这种情况?

塞巴斯蒂安

1 个答案:

答案 0 :(得分:3)

您的Indy版本已过时。你需要升级。这个问题已经在2012年12月的TIdIMAP4已经在SVN rev 4883中得到解决。目前版本在Indy的SVN中是10.6.0 rev 5022。