Назад | Перейти на главную страницу

Соединитель Exchange IMAP4 - ошибка с кодом события 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."

Сообщения передавались в Exchange путем копирования их из старого Apple Xserve, доступ к которому осуществлялся через IMAP.

Итак, мой вопрос, наконец:
1. Есть ли способ заставить соединитель IMAP Exchange перестроить свой кеш сообщений, поскольку он, похоже, не извлекает их напрямую из хранилища MAPI?
2. В качестве альтернативы, если нет базы данных, любые идеи о том, почему эти сообщения не появляются в Outlook или OWA, будут с благодарностью приняты.

Возможно, это конкретное сообщение повреждено.

Вы можете установить telnet-соединение с портом POP3 на сервере, войти в почтовый ящик пользователя, ввести команды LIST и UIDL и найти номер сообщения в обоих списках. Если вы не видите его в обоих списках, значит проблема с почтовым ящиком и \ или сообщением. Попробуйте удалить сообщение, о котором идет речь, и посмотрите, решит ли это проблему.


Форматирование в моем комментарии получилось неправильным (Ду). Вот что я пытался донести, что касается команд telnet:

  1. телнет название сервера 110 (независимо от номера порта, на котором работает POP)
  2. пользователь имя пользователя
  3. проходить пароль
  4. список
  5. uidl
  6. удалить message_number
  7. уволиться

Сервер Exchange 2007 IMAP4 извлекает сообщения непосредственно из базы данных банка данных. Нет "кеша" сообщений.

У меня нет объяснения, почему сообщения не отображаются в OWA или Outlook.

Я считаю, что вы видите проблему тот, что сообщил здесь, который, как указано на плакате Microsoft, будет исправлен в Exchange 2007 Service Pack 2. Я бы посмотрел на переход на SP2 и посмотрел, решит ли это проблему.