#exchangewebservices
#exchangewebservices
Вопрос:
Я использую управляемый API веб-службы Exchange версии 1.1 для некоторых моих задач разработки, я хочу выполнить некоторые операции с входящим сообщением электронной почты.
- Подтвердите отправителя
- Сохраните сообщение электронной почты на диске в виде HTML-файла (тот же метод, что
SaveAs
и опция)
Для 1-й проблемы, чтобы отправить электронное письмо отправителю, мне нужно получить адрес электронной почты отправителя. Итак, я попробовал следующее, но безуспешно: (выполнив приведенное ниже действие, я могу получить сообщение электронной почты, в котором From содержит только имя, а не адрес электронной почты.
EmailMessage email = EmailMessage.Bind(exchangeService, item.Id);
Console.WriteLine(email.From.Address);
Кто-нибудь может мне здесь помочь.
Спасибо,
Анкуш Гупта
Комментарии:
1. Итак, с какой ошибкой / проблемой вы столкнулись?
2. Я не могу получить адрес электронной почты отправителя. Я снова уточнил свой вопрос.
3. Я могу получить адрес электронной почты отправителя с помощью EWS. Я пропустил добавление вызова email.Load(), при этом загружаются все свойства первого класса, и я могу получить адрес отправителя.
4. ДА. Второй: сохранение сообщения электронной почты на диске в виде HTML-файла (тот же метод, что и опция SaveAs)
5. Вам нужно только тело или необычное представление почты, включая такие вещи, как От, до, Тема… что Outlook генерирует при печати электронного письма?
Ответ №1:
Чтобы ответить на вопрос в комментариях:
EWS не предоставляет вам способа прямого сохранения сообщения в формате HTML. Однако вы можете получить текст письма в формате HTML, используя этот набор свойств:
mail.Load(new PropertySet(ItemSchema.Body) {RequestedBodyType = BodyType.HTML});
Если вы хотите что-то более навороченное (например, функциональность Outlook save as html), вам придется объединить тело с From , ToRecipients , CCRecipients , Subject и полученным свойством.
Комментарии:
1. Если мое электронное письмо содержит встроенное изображение, то сохраненный HTML-файл не сможет отобразить изображение, поскольку изображения отсутствуют (поскольку имя в теле сообщения и сохраненный HTML отличаются), даже если я попытаюсь извлечь вложения, но имя в html (которое я сохранил с помощью fileпоток) отличается от потока в коллекции вложений. Нужно ли мне анализировать HTML и заменять имя изображения на то, которое я получил из коллекции??