【问题标题】:AE.Net.Mail connection timing outAE.Net.Mail 连接超时
【发布时间】:2021-02-02 03:43:28
【问题描述】:

我正在创建一个必须读取电子邮件并将其写入文本文件的程序。我选择使用 AE.Net.Mail nuget 包来执行此操作。但是,当我尝试阅读电子邮件时,连接超时。这是读取电子邮件的代码:

IC = new ImapClient("imap.gmail.com", yourEmail, yourPassword, AuthMethods.Login, 993, true);

IC.SelectMailbox("INBOX");
var Email = IC.GetMessage(-1);

string body = Email.Body;

调用 IC.GetMessage(-1) 时超时。这是什么原因?

【问题讨论】:

  • 可以指定超时值,IC.ServerTimeout = 10000;超时以毫秒为单位。

标签: c# .net gmail


【解决方案1】:

检查它会起作用

public string ParseNewEmail()
            {
                // Connect to the IMAP server. The 'true' parameter specifies to use SSL, which is important (for Gmail at least)
                ImapClient imapClient = new ImapClient(ConfigurationManager.AppSettings["ImapServer"], ConfigurationManager.AppSettings["UserId"], ConfigurationManager.AppSettings["Password"], AuthMethods.Login, 993, true);
                var userName = ConfigurationManager.AppSettings["UserID"];
              //  ImapClient imapClient = new ImapClient(ConfigurationManager.AppSettings["ImapServer"], "jayasreetestemail@gmail.com", "7Ywy7N[S", AuthMethods.Login, 993, true);
                // Select a mailbox. Case-insensitive
                imapClient.SelectMailbox("INBOX");
                string emailJson="";          
                imapClient.NewMessage += (sender, e) =>
                {
                    var msg = imapClient.GetMessage(e.MessageCount - 1);
                    UpdatePackage up = new UpdatePackage();
                    up.Updates = ParseBody(msg.Body);
                    up.Subject = msg.Subject;
                    up.Body = msg.Body;
                    up.ProjectName = ApplicationName;              
                   
                  emailJson = JsonConvert.SerializeObject(up);                          
                  string result = "";
                  using (var client = new WebClient())
                  {
                      client.Headers[HttpRequestHeader.ContentType] = "application/json";
                     // result = client.UploadString("https://localhost:44300/ProjectUpdate/Update", "Post", emailJson);
                      result = client.UploadString("https://costcodevops.azurewebsites.net/ProjectUpdate/Update", "Post", emailJson);
                      Console.WriteLine(result);
                  }
                  
                   
                };           
    
               return emailJson;           
            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-25
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 2013-09-03
    • 2011-08-05
    • 1970-01-01
    相关资源
    最近更新 更多