我正在使用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连接或消息对象上调用以避免这种情况?
塞巴斯蒂安
答案 0 :(得分:3)
您的Indy版本已过时。你需要升级。这个问题已经在2012年12月的TIdIMAP4
已经在SVN rev 4883中得到解决。目前版本在Indy的SVN中是10.6.0 rev 5022。