Как читать содержимое почты через консольное приложение С#

MailRepository rep = new MailRepository("imap.mail.yahoo.com", 993, true, @"[email protected]", "*******");
foreach (Message email in rep.GetUnreadMails("Inbox"))
{
    //Console.WriteLine(string.Format("<p>{0}: {1}</p><p>{2}</p>", email.From, email.Subject, email.BodyHtml.Text));
    Console.WriteLine(email.From);
    Console.WriteLine(email.Subject);
    Console.WriteLine(email.BodyHtml.Text);
    if (email.Attachments.Count > 0)
    {
        foreach (MimePart attachment in email.Attachments)
        {
            Console.WriteLine(string.Format("<p>Attachment: {0} {1}</p>", attachment.ContentName, attachment.ContentType.MimeType));
        }
    }
}

Выше мой код, который используется для чтения содержимого почты. Он отлично работает, когда я пытался использовать порт Gmail, но при переходе на Yahoo или какой-либо другой. Это не позволяет мне читать исключение для отправки почты. Есть ли другой источник. Пожалуйста, направь меня


person Ilaya Bharathi    schedule 21.07.2016    source источник
comment
Какие подробности об исключении, которое он генерирует?   -  person Jeremy Thompson    schedule 21.07.2016
comment
некоторое время необработанное исключение, а иногда пользователь и пароль неверны   -  person Ilaya Bharathi    schedule 21.07.2016


Ответы (1)


Сначала проверьте правильность своих учетных данных.

Во-вторых, поместите в конструктор try catch, чтобы посмотреть, сможете ли вы получить больше информации о необработанном исключении:

public MailRepository(string mailServer, int port, bool ssl, string login, string password)
{
  try {
    if (ssl) {
      Client.ConnectSsl(mailServer, port);
    }
    else {
      Client.Connect(mailServer, port);
    }
  Client.Login(login, password);
  }
  catch(Exception ex)
  {
     //Check the exception details here
  }
}

В-третьих, происхождение класса MailRepository, по-видимому, происходит из здесь, который использует реализацию Imap4Client, на которую другие жаловались, не работает с Yahoo: Подключение к электронной почте yahoo с помощью IMAP4 MailSystem.NET

В принятом ответе рекомендуется использовать ImapX 2 - кроссплатформенную библиотеку IMAP для .NET для работы с GMail, Yahoo и т. д.

person Jeremy Thompson    schedule 21.07.2016
comment
спасибо @ Джереми Томпсон, я пытался поймать в своем коде, только здесь я пренебрег. попробую по этой ссылке - person Ilaya Bharathi; 21.07.2016