Чтение электронной почты с использованием Pop3 в C#

загрузка электронной почты csharp по протоколу POP3 — самая csharp легкая часть задачи. Протокол visual-c# довольно прост, и единственной c#-language трудной частью могут быть c#-language расширенные методы аутентификации, если c#.net вы не хотите отправлять открытый c-sharp текстовый пароль по сети visual-c# (и не можете использовать .cs-file зашифрованный канал связи pop3 SSL). Подробнее см. RFC 1939: Post Office Protocol - Version 3 и RFC 1734: POP3 AUTHentication command.

Сложная c#-language часть возникает, когда вам unicode нужно проанализировать полученное c# электронное письмо, что в c#.net большинстве случаев означает csharp анализ формата MIME. Вы можете c#.net написать быстрый и грязный .cs-file синтаксический анализатор .cs-file MIME за несколько часов или csharp дней, и он будет обрабатывать pop3 95+% всех входящих сообщений. Улучшение c#.net синтаксического анализатора, чтобы pop3 он мог анализировать практически pop3 любое электронное письмо, означает:

  • получать образцы писем, отправленных из самых популярных почтовых клиентов, и улучшать парсер для исправления ошибок и неверных интерпретаций RFC, генерируемых ими.
  • Убедитесь, что сообщения, нарушающие RFC для заголовков и содержимого сообщений, не приведут к сбою вашего синтаксического анализатора и что вы сможете прочитать каждое читаемое или угадываемое значение из искаженного электронного письма
  • правильное решение проблем интернационализации (например, языки, написанные справа налево, правильная кодировка для определенного языка и т. д.)
  • ЮНИКОД
  • Вложения и иерархическое дерево элементов сообщения, как показано на "Mime torture email sample"
  • S/MIME (подписанные и зашифрованные электронные письма).
  • и так далее

Отладка unicode надежного парсера MIME занимает csharp месяцы работы. Я знаю, потому c-sharp что я наблюдал, как мой друг c#-language писал один такой парсер для c#.net компонента, упомянутого ниже, и c-sharp писал для него несколько pop3 модульных тестов ;-)

Вернуться visual-c# к исходному вопросу.

Вам помогут c-sharp подписки code taken from our POP3 Tutorial page и ссылки:

// 
// create client, connect and log in 
Pop3 client = new Pop3();
client.Connect("pop3.example.org");
client.Login("username", "password");

// get message list 
Pop3MessageCollection list = client.GetMessageList();

if (list.Count == 0)
{
    Console.WriteLine("There are no messages in the mailbox.");
}
else 
{
    // download the first message 
    MailMessage message = client.GetMailMessage(list[0].SequenceNumber);
    ...
}

client.Disconnect();

c#

unicode

pop3

2022-07-21T11:07:21+00:00
Вопросы с похожей тематикой, как у вопроса:

Чтение электронной почты с использованием Pop3 в C#