您的位置:首页 > 其它

使用LumiSoft.Net收取邮件

2009-05-05 17:43 239 查看
/// <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号不能为空";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: