Как программно прочитать входящее письмо с помощью .NET. Мне нужен способ взять содержимое сообщения электронной почты (в данном случае XML) на POP-сервере и прочитать его в моем приложении.
В идеале это можно решить с помощью:
Хотя я открыт для других вариантов.
Обновлено: скопировано из «отсутствия ответа»:
Currently, we're looking at using the email accounts our hosting company provides.
Our own mail server could potentially be an option, but its something the we'd need to contact the host about.
Попробуйте OpenPop.NET: nuget.org/packages/OpenPop.NET





Вариантов довольно много, если в вашем распоряжении служебная шина, в основном она поставляется с адаптером pop3.
Или вы можете использовать api pop3 (easymail от quiksoft - неплохой вариант). Также в нем есть отличный продукт для обработки отскоков.
Чтобы прочитать все сообщения SMTP. Если у вас есть почтовый сервер, в зависимости от типа сервера существуют другие способы доступа к сообщениям, иногда пользовательские Apis и плагины или файловая система. У вас есть собственный почтовый сервер? Какой почтовый сервер вы используете?
Если возможно, я бы не выбрал протокол POP, у него есть некоторые ограничения, среди прочего, например, наличие только одной папки, "получение / чтение" сообщения удаляет сообщение из папки (что означает, что один процесс для чтения сообщений) и другие вещи . В зависимости от того, сколько писем вам нужно проанализировать, это может по-прежнему работать для вас. IMAP уже был бы улучшением.
С помощью компонента quiksoft IMAP:
//create a new IMAP4 object, connect
//to a IMAP4 server and login
IMAP4 imap = new IMAP4();
imap.Connect("mail.yourdomain.com");
imap.Login("mailbox", "password");
//select the inbox and download the envelopes
imap.SelectMailbox("Inbox");
EnvelopeCollection imapEnvelopes;
imapEnvelopes = imap.GetEnvelopes();
//loop through each message
//and output the subject
foreach (Envelope imapEnvelope in imapEnvelopes)
{
//write the subject out to the console
Console.WriteLine(imapEnvelope.Subject);
}
//close resources
imap.Logout();
На самом деле мы только что реализовали то же самое.
Мы обрабатываем содержимое сообщений электронной почты и отправляем данные в нашу CRM через веб-службу. Мы используем C# с .net 3.5
Для обработки почты мы использовали IMap. В CodeProject есть несколько клиентских библиотек .net. Думаю, мы использовали тот, что был от LumiSoft.
Мы попробовали WebDav, но нам не повезло. В результате мы получили Pop3 или IMap. IMap поддерживает папки, которые нам нужны, поэтому мы пошли этим путем. Я уверен, что было бы легко сделать то же самое с POP3, если ваш сервер не поддерживает IMap.
Обычно мы подключаемся к нашему серверу Exchange каждый час, загружаем все новые сообщения электронной почты и обрабатываем их. Пока все работает хорошо.
Обновлено: мы также используем SharpMimeИнструменты, чтобы преобразовать необработанные электронные письма в более удобный формат.
Есть множество бесплатных реализаций клиента POP3 для .Net.
Например: это один.
Почтовый сервер Merak от IceWarp отлично подходит для этого. Это позволило нам настроить особый вид учетной записи, называемой исполняемой учетной записью. Вы связываете .exe с адресом электронной почты и выбираете кучу вещей для отправки в командной строке. Когда на эту учетную запись отправляется электронное письмо, запускается исполняемый файл. .Exe должен быть консольным приложением, и вы должны позаботиться о том, чтобы он не зависал, а что нет, но я подумал, что это идеальное решение.
Мы используем его для обработки статистики из Google Analytics и возврата с других почтовых серверов.
+1 для почтового сервера Merak, это отличный продукт. То, как он позволяет использовать плагин dll, также отлично подходит для обработки отказов.
Вы всегда можете сделать DIY Класс POP 3 POP - один из самых простых протоколов
Подобные вопросы: * stackoverflow.com/questions/86553/… * stackoverflow.com/questions/126068/… * stackoverflow.com/questions/44383/reading-email-using-pop3-i н-с