2016-07-21 9 views
0
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 또는 다른 서버를 사용하는 중에는 정상적으로 작동합니다. 그것은 나를 던지는 예외를 읽는 것을 허용하지 않습니다. 다른 출처가 있습니까? 제발 나를 안내하십시오C# 콘솔 응용 프로그램을 통해 메일 내용을 읽는 방법

+3

**이 던지고 예외의 세부 사항은 무엇입니까? –

+0

시간이 처리되지 않은 예외와 몇 번 사용자 및 암호에-올바른 –

답변

0

먼저, 귀하의 자격 증명이 올바른지 확인하십시오.

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 클래스의 기원은 here에서 나타납니다 : 두 번째

, 당신이 처리되지 않은 예외에 대한 자세한 정보를 얻을 수 있는지 확인하기 위해 생성자에서 시도 캐치를 넣어 다른 사람들이 불평하는 Imap4Client 구현을 사용하는 사용자는 Yahoo와 함께 작동하지 않습니다. Connecting to yahoo email with IMAP4 MailSystem.NET

허용되는 대답은 ImapX 2 - crossplatform IMAP library for .NET Gmail은, 야후, 처리하는 등

+0

덕분에 제레미 톰슨 @입니다, 내가 가진 ** 내 코드에서 잡으려고, 여기서 나는 소홀히했다. 이 참조로 시도하겠습니다. –