/// <summary> /// 收取邮件 /// </summary> /// <param name="Username"></param> /// <param name="TID"></param> /// <returns></returns> public static string ReceiveMails(string Username, int TID) { Mail_Class mc = new Mail_Class(); if (TID != 0) { SqlDataReader dataReader = mc.ExtGetSetting(Username, TID); if (dataReader.Read()) { string PopServer = dataReader["PopServer"].ToString();//服务器名称 string UserName = dataReader["Username"].ToString();//用户名 string PopPass = dataReader["PopPassword"].ToString();//密码 PopPass = StrOpers.decode(PopPass);//解密 int port = 110;//端口号 bool ssl =(bool)dataReader["SmtpAuth"]; if (dataReader["PopPort"].ToString() != "" || dataReader["PopPort"] != null) { port = Convert.ToInt32(dataReader["PopPort"].ToString()); } dataReader.Close(); if (PopServer != "" && UserName != "") { using (POP3_Client c = new POP3_Client()) { //连接POP3服务器 //WellKnownPorts.POP3 = port; try { c.Connect(PopServer, port,ssl); //验证用户身份 c.Authenticate(UserName, PopPass,false); } catch(Exception e) { return e.Message; //return "不能连接到主机,请检查邮箱设置是否正确或者网络是否畅通!"; } int countre = 0; if (c.Messages.Count > 0) { for (int i = c.Messages.Count - 1; i >= 0; i--) { string ss = c.Messages[i].UID; if (!mc.JudgeEmail(ss, TID.ToString())) { try { Mime m = Mime.Parse(c.Messages[i].MessageToByte()); mc.SaveExtMail(m, TID, ss);//存入数据库 countre++; } catch { } } } } int count = c.Messages.Count; c.Disconnect(); return "邮箱有" + count.ToString() + " 封邮件,收取" + countre.ToString() + " 封新邮件"; } } else { return "邮箱服务器或者用户名不能为空"; } } else { return "未找到你要收邮件的邮箱"; } } else { return "ID号不能为空"; } }