#c# #mimekit
#c# #mimekit
Вопрос:
Мне нужно обработать необработанные сообщения электронной почты и извлечь адреса кому и откуда. Я мог бы просто выполнить поиск «Кому:», но я бы предпочел сделать это структурированным способом, чтобы избежать проблем.
Как я могу создать MIME-сообщение из необработанного текста электронной почты, а затем получить заголовки кому / откуда?
Я уже видел, как MimeKit использовался для отправки электронных писем раньше, но, похоже, не смог найти способ увлажнить объект сообщения MimeKit из необработанной строки, чтобы я мог извлекать заголовки To / From. Я получаю эту ошибку во время выполнения, если просто пытаюсь передать необработанный текст электронной почты в конструктор:
Exception: System.ArgumentException: Unknown initialization parameter: System.String
at MimeKit.MimeMessage..ctor(Object[] args)
at AWSS3Test.Services.CallS3.ListingObjectsAsync()
Google не вернул ничего полезного.
Это не обязательно должен быть MimeKit, но как я могу это сделать?
Комментарии:
1. Вы видели документацию? github.com/jstedfast/MimeKit#parsing-messages Вам придется либо обернуть свое сообщение потоком, либо прочитать его непосредственно с диска
2. Ваша ссылка не сработала, но вы указали мне правильный путь, спасибо. Я отвечу на свой собственный вопрос, должен быть поток и использовать метод загрузки, а не конструктор.
Ответ №1:
Его нужно использовать.Загрузить не конструктор, а строку необходимо преобразовать в поток
var message = new MimeMessage();
byte[] byteArray = Encoding.ASCII.GetBytes(TestEmail);
MemoryStream stream = new MemoryStream(byteArray);
message = MimeMessage.Load(stream);