Отправьте eml файлы экономили на диске

В соответствии с меню Tools в Visual Studio 2008 (или 2005, если Вы имеете право установленный материал WCF) существует опции, названные 'Сервисный Редактор конфигураций WCF'.

Оттуда можно изменить параметры привязки и для клиента и для сервисов, одна из этих опций будет для тайм-аутов.

9
задан Fuzzybear 2 August 2018 в 11:18
поделиться

2 ответа

Используйте EMLReader для извлечения данных из файла .eml. Он содержит все данные, необходимые для создания объекта MailMessage , например From, To, Subject, Body и многих других.

FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.ReadWrite);
EMLReader reader = new EMLReader(fs);
fs.Close();

MailMessage message = new System.Net.Mail.MailMessage(reader.From, reader.To, reader.Subject, reader.Body);
6
ответ дан 4 December 2019 в 13:48
поделиться

Загрузка EML-файла корректно не так проста, как кажется. За несколько дней можно написать реализацию, работающую в 95% случаев. Остальные 5% займут как минимум несколько месяцев ;-). Я знаю, так как занимался разработкой.

Рассмотрим следующие особенности:

  • unicode emails
  • right-to- левый язык
  • исправление неправильных EML-файлов, вызванных известными ошибками в популярных почтовых клиентах и серверах
  • , работающих с S/MIME (зашифрованными и подписанными сообщениями электронной почты)
  • корректное использование нескольких методов кодирования вложений
  • , работающих с встраиваемыми изображениями и таблицами стилей, встроенными в HTML-сообщения
  • , для обеспечения корректного разбора MIME torture message от Майка Криспина (соавтора RFC Mime и IMAP)
  • удостовериться, что некорректно составленное сообщение не приведет к переполнению буфера или другому сбою приложения
  • обработка иерархических сообщений (сообщений с прикрепленными сообщениями)
  • удостовериться, что он корректно обрабатывает очень большие сообщения

На созревание такого парсера уходят годы и постоянная обратная связь для его пользователей. На данный момент такой парсер не включен в .NET Framework. До тех пор, пока он не изменится, я буду стараться получить низкопробный MIME парсер от известного производителя.

Следующий код использует наш Rebex Secure Mail компонент , но я уверен, что подобная задача может быть легко скопирована и с компонентами других производителей.

Код основан на Mail Message tutorial .

// create an instance of MailMessage 
MailMessage message = new MailMessage();

// load the message from a local disk file 
message.Load("c:\\message.eml");

// send message
Smtp.Send(message, "smtp.example.org");
7
ответ дан 4 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: