C#Constant Stream pop3

时间:2012-12-09 20:38:31

标签: c# c#-4.0 pop3

好的,所以我遇到了一个问题,我认为我用一个糟糕的装备固定,从长远来看它失败了,所以我来问你们正确的方法。这是我的问题,我正在制作一个应用程序,通过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分钟才开始运行我被google的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 

0 个答案:

没有答案