2010-06-23 77 views
2

我想創建窗口應用程序,通過它我可以從Gmail讀取電子郵件。如何使用C#從Gmail讀取電子郵件#

其實我想讀喜歡的電子郵件的正確格式,發件人,主題,CC和身體。

 using (Imap imap = new Imap()) 
     { 
      imap.ConnectSSL("mail.company.com"); 
      imap.Login("[email protected]", "xyx***"); 

      imap.SelectInbox(); 
      List<long> uids = imap.SearchFlag(Flag.Unseen); 
      foreach (long uid in uids) 
      { 
       string eml = imap.GetMessageByUID(uid); 
       IMail message = new MailBuilder() 
        .CreateFromEml(eml); 

       Console.WriteLine(message.Subject); 
       Console.WriteLine(message.TextDataString); 
      } 
      imap.Close(true); 
     }  

這是這個錯誤。 無連接可以作出,因爲目標機器積極地拒絕它

+5

這很好。現在,你有什麼問題?對於整個應用程序來說,可以使用少於代碼的方式來回答一些問題? – Oded 2010-06-23 12:27:44

+0

GMail還有一個IMAP接口,它受到更廣泛的支持。 – Sjoerd 2010-06-23 12:29:20

回答

0

您可能需要確保您使用的是正確的主機名和端口號。配置這些設置將取決於IMAP API您正在使用的.Net

但是你想使用google's站點上列出的設置。

  • IMAP => imap.google.com:993(SSL)
  • SMTP => smtp.google.com:587(TLS)
5

嘗試此我已經一起添加的端口號與gmail imap服務器連接到服務器

using (Imap imap = new Imap()) 
    { 
     imap.ConnectSSL("imap.gmail.com", 993); 
     imap.Login("[email protected]", "xyx***"); // MailID As Username and Password 

     imap.SelectInbox(); 
     List<long> uids = imap.SearchFlag(Flag.Unseen); 
     foreach (long uid in uids) 
     { 
      string eml = imap.GetMessageByUID(uid); 
      IMail message = new MailBuilder() 
       .CreateFromEml(eml); 

      Console.WriteLine(message.Subject); 
      Console.WriteLine(message.TextDataString); 
     } 
     imap.Close(true); 
    } 
相關問題