2010-06-23 80 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); 
    } 
相关问题