Exchange IMAP4 连接器 - 错误事件 ID 2006

Exchange IMAP4 连接器 - 错误事件 ID 2006

我组织中的几个用户使用 IMAP4 连接到 Exchange 2007(已应用更新汇总 9),因为他们更喜欢 Thunderbird / Postbox 客户端。其中一位用户在应用程序日志中生成了以下错误:

An exception Microsoft.Exchange.Data.Storage.ConversionFailedException occurred while converting message Imap4Message 1523, user "*******", folder *********, subject: "******", date: "*******" into MIME format. Microsoft.Exchange.Data.Storage.ConversionFailedException: Message content has become corrupted. ---> System.ArgumentException: Value should be a valid content type in the form 'token/token'
Parameter name: value
   at Microsoft.Exchange.Data.Mime.ContentTypeHeader.set_Value(String value)
   at Microsoft.Exchange.Data.Storage.MimeStreamWriter.WriteHeader(HeaderId type, String data)
   at Microsoft.Exchange.Data.Storage.ItemToMimeConverter.WriteMimeStreamAttachment(StreamAttachmentBase attachment, MimeFlags flags)
   --- End of inner exception stack trace ---
   at Microsoft.Exchange.Data.Storage.ItemToMimeConverter.WriteMimeStreamAttachment(StreamAttachmentBase attachment, MimeFlags flags)
   at Microsoft.Exchange.Data.Storage.ItemToMimeConverter.WriteMimeAttachment(MimePartInfo part, MimeFlags flags)
   at Microsoft.Exchange.Data.Storage.ItemToMimeConverter.WriteMimePart(MimePartInfo part, MimeFlags mimeFlags)
   at Microsoft.Exchange.Data.Storage.ItemToMimeConverter.WriteMimeParts(List`1 parts, MimeFlags mimeFlags)
   at Microsoft.Exchange.Data.Storage.ItemToMimeConverter.WriteMimePart(MimePartInfo part, MimeFlags mimeFlags)
   at Microsoft.Exchange.Data.Storage.ImapItemConverter.<>c__DisplayClass2.<WriteMimePart>b__0()
   at Microsoft.Exchange.Data.Storage.ConvertUtils.CallCts(Trace tracer, String methodName, String exceptionString, CtsCall ctsCall)
   at Microsoft.Exchange.Data.Storage.ImapItemConverter.WriteMimePart(ItemToMimeConverter converter, MimeStreamWriter writer, OutboundConversionOptions options, MimePartInfo partInfo, MimeFlags conversionFlags)
   at Microsoft.Exchange.Data.Storage.ImapItemConverter.GetBody(Stream outStream)
   at Microsoft.Exchange.Data.Storage.ImapItemConverter.GetBody(Stream outStream, UInt32[] indices)

从我阅读的内容来看,建议是要求用户登录 Outlook/OWA 并在那里查看消息。但是,我自己以用户身份登录后,无法通过搜索或浏览日志条目中详细的文件夹找到这些消息。服务器向客户端返回以下错误:

"The message could not be retrieved using the IMAP4 protocol. The message has not been deleted and may be accessible using either Microsoft Outlook or Microsoft Office Outlook Web Access. You can also try contacting the original sender of the message to find out about the contents of the message.

Retrieval of this message will be retried when the server is updated with a fix that addresses the problem."

消息通过从旧的 Apple Xserve 复制并传输到 Exchange,并使用 IMAP 进行访问。

所以我的问题是:
1. 有没有办法让 IMAP Exchange 连接器重建其消息缓存,因为它似乎没有直接从 MAPI 存储中提取消息?
2. 或者,如果没有数据库,任何关于为什么这些消息没有出现在 Outlook 或 OWA 中的想法都将不胜感激。

答案1

Exchange 2007 IMAP4 服务器直接从信息存储数据库提取邮件。不存在邮件“缓存”。

我无法解释为什么这些消息没有出现在 OWA 或 Outlook 中。

我相信你看到的问题是这里报道的一个,微软海报称该问题将在 Exchange 2007 Service Pack 2 中得到修复。我会考虑迁移到 SP2,看看是否能解决问题。

答案2

有可能那条特定消息已被损坏。

您可以与服务器上的 POP3 端口建立 telnet 连接,登录用户邮箱并发出 LIST 和 UIDL 命令,然后在两个列表中查找邮件编号。如果您在两个列表中都看不到邮件编号,则表明邮箱和/或邮件存在问题。尝试删除有问题的邮件,看看是否能解决问题。


我的评论格式不正确(呃)。以下是我试图就 telnet 命令表达的意思:

  1. 远程登录服务器名称110(POP 运行的端口号)
  2. 用户用户名
  3. 经过密码
  4. 列表
  5. uidl
  6. 删除消息编号
  7. 辞职

相关内容