EWS Тело электронной почты возвращается пустым?

Мы находимся в процессе преобразования пакетной работы, которая обрабатывает наши отклоненные электронные письма, которые мы отправляем. Мы переходим с Redemption на EWS (только что обновлен до Exchange 2010 с Exchange 2003). Как вы знаете, электронные письма приходят в разных формах. Мне удалось обработать все полученные мной тестовые письма, за исключением тех, которые представлены в виде:

Ваше сообщение не достигло некоторых или всех предполагаемых получателей.


      Тема: Привет
      Отправлено: 01.04.2012 8:16

Следующие получатели не могут быть достигнуты:

      hi@foo.com 4/01/2012 8:19 AM
            Система электронной почты не смогла доставить сообщение, но не сообщила об определенной причине. Проверьте адрес и попробуйте снова. Если это не помогло, обратитесь к системному администратору.
             smtp.mydomain.com #5.0.0 smtp; 5.3.0 - Другая проблема с почтовой системой 554-"ошибка доставки: dd У этого пользователя нет учетной записи foo.com (hi@foo.com) [-5] - mail.foo.com" (попыток доставки: 0)>

Это то, что отображается в outlook. Когда я читаю письмо с EWS, тело пусто. Мне нужно посмотреть информацию выше, когда я получу электронное письмо с EWS. К электронным письмам прикреплено приложение (оригинальное письмо), хотя в перспективе оно выглядит не так. Я попытался просмотреть почти все свойства, которые возвращаются из EWS, но пока не смог найти текст выше. Погашение позволит вам посмотреть на эту информацию, используя ReportText. Что мы конкретно ищем, так это код доставки ошибки электронной почты. Мы делаем разные вещи на основе этого кода.

Изменить: Чтобы быть более понятным, Body Body в других моих тестовых случаях не пусто. Я загружаю письма как:

            Dim emailPset = New PropertySet(BasePropertySet.FirstClassProperties)
            emailPset.RequestedBodyType = BodyType.Text
            Dim f = EmailMessage.Bind(email.Service, email.Id, emailPset)

Обновление 1: после некоторых исследований мне кажется, что мне нужно прочитать таблицу получателей сообщения в полях PR_NDR_STATUS_CODE & PR_REPORT_TEXT. Все еще ищу, есть ли способ сделать это в EWS.

1 ответ

Решение

Мы смогли получить достаточно информации

smtp.mydomain.com #5.0.0 smtp; 5.3.0 - Other mail system problem 554-"delivery error: dd This user doesn't have a foo.com account (hi@foo.com) [-5] - mail.foo.com" (delivery attempts: 0)>

часть, которая нам нужна, сообщая объекту загрузить содержимое MIME.

Определенно, не самый простой API для использования, но мы надеемся, что мы больше не будем сталкиваться с ошибками.

Другие вопросы по тегам