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