2

好的,所以我遇到了一个问题,我认为我用一个蹩脚的钻机解决了这个问题,但从长远来看它失败了,所以我来问你们正确的方法。这是我遇到的问题,我正在制作一个应用程序以通过 POP3(使用 ActiveUp api)过滤掉某种类型的电子邮件,但我需要它与 POP3 服务器保持持续连接......这就是我所拥有的马上:

public static void Main (string[] args) 
    {
        while(true)
        {           
            POP3();
            Console.Title = "Waiting for "+GetSubject+POST;
            Thread.Sleep(5000);
        }
    }
    public static void POP3()
    {
        Pop3Client pop3 = new Pop3Client();
        try
        {
            pop3.ConnectSsl("pop.gmail.com",995,"", "");
            if(pop3.MessageCount > 0)
            {
                int CurrentMessage = pop3.MessageCount;
                ActiveUp.Net.Mail.Message message = pop3.RetrieveMessageObject(CurrentMessage);
                if(message.Subject == GetSubject+POST)
                {
                Console.WriteLine("command reconized from {0}: {1}\n Sending responce now!",message.From.Email, message.Subject);
                SMTP (message.From.Email, _message);
                POST++;
                pop3.Close();
                }
            }
            else
            {
                Console.WriteLine("no mail found"); 
            }
        }
        catch(Pop3Exception iex)
        {
            Console.WriteLine(iex); 
            pop3.Close();
        }
    }

一切都很完美,直到它运行大约 10 到 20 分钟我被踢出谷歌的 POP3 服务器并不得不重新启动应用程序......我现在运行应用程序并重新编辑我的错误问题......但在那之前你们可以请帮我?谢谢!

错误:

nhandled Exception: System.Net.Sockets.SocketException: No such host is known
  at System.Net.Dns.hostent_to_IPHostEntry (System.String h_name, System.String[] h_aliases, System.String[] h_addrlist) [0x00000] in <filename unknown>:0 
  at System.Net.Dns.GetHostByName (System.String hostName) [0x00000] in <filename unknown>:0 
  at System.Net.Dns.GetHostEntry (System.String hostNameOrAddress) [0x00000] in <filename unknown>:0 
  at System.Net.Dns.GetHostAddresses (System.String hostNameOrAddress) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.TcpClient.Connect (System.String hostname, Int32 port) [0x00000] in <filename unknown>:0 
  at ActiveUp.Net.Mail.Pop3Client.ConnectSsl (System.String host, Int32 port, System.String user, System.String pass, ActiveUp.Net.Security.SslHandShake sslHandShake) [0x00000] in <filename unknown>:0 
  at ActiveUp.Net.Mail.Pop3Client.ConnectSsl (System.String host, Int32 port, System.String user, System.String pass) [0x00000] in <filename unknown>:0 
  at AutoThreadOwnerCopy.MainClass.POP3 () [0x00006] in /home/m44m31/AutoThreadOwnerCopy/AutoThreadOwnerCopy/Main.cs:35 
  at AutoThreadOwnerCopy.MainClass.Main (System.String[] args) [0x00019] in /home/m44m31/AutoThreadOwnerCopy/AutoThreadOwnerCopy/Main.cs:25 
[ERROR] FATAL UNHANDLED EXCEPTION: System.Net.Sockets.SocketException: No such host is known
  at System.Net.Dns.hostent_to_IPHostEntry (System.String h_name, System.String[] h_aliases, System.String[] h_addrlist) [0x00000] in <filename unknown>:0 
  at System.Net.Dns.GetHostByName (System.String hostName) [0x00000] in <filename unknown>:0 
  at System.Net.Dns.GetHostEntry (System.String hostNameOrAddress) [0x00000] in <filename unknown>:0 
  at System.Net.Dns.GetHostAddresses (System.String hostNameOrAddress) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.TcpClient.Connect (System.String hostname, Int32 port) [0x00000] in <filename unknown>:0 
  at ActiveUp.Net.Mail.Pop3Client.ConnectSsl (System.String host, Int32 port, System.String user, System.String pass, ActiveUp.Net.Security.SslHandShake sslHandShake) [0x00000] in <filename unknown>:0 
  at ActiveUp.Net.Mail.Pop3Client.ConnectSsl (System.String host, Int32 port, System.String user, System.String pass) [0x00000] in <filename unknown>:0 
  at AutoThreadOwnerCopy.MainClass.POP3 () [0x00006] in /home/m44m31/AutoThreadOwnerCopy/AutoThreadOwnerCopy/Main.cs:35 
  at AutoThreadOwnerCopy.MainClass.Main (System.String[] args) [0x00019] in /home/m44m31/AutoThreadOwnerCopy/AutoThreadOwnerCopy/Main.cs:25 
4

0 回答 0