.net邮箱发布邮箱信息的实例 复制代码 代码如下:#region 发送邮箱方法 /// /// 发送邮箱方法 /// /// 发送到的邮箱地址     /// 姓名 /// 发送成功 返回 true 否则返回 false public bool GetEmail(string useremail, string username) { DateTime dt = DateTime.Now; string gettime = dt.ToLongDateString().ToString(); string _MailAddress = "邮箱地址"; string _MailNickName = "xxx"; string _MailPassword = "邮箱密码"; string _MailSmtpHost = "smtp.163.com"; string _MailSmtpPort = "25"; string _To = useremail; string _Title = "xxxxxx"; string _Body = "亲爱的“" + username + "”用户:

您好!"; string strXmlFile = HttpContext.Current.Server.MapPath("/config/mail.config"); XmlControl XmlTool = new XmlControl(strXmlFile); XmlTool.Update("Root/Address", _MailAddress); XmlTool.Update("Root/NickName", _MailNickName); XmlTool.Update("Root/Password", _MailPassword); XmlTool.Update("Root/SmtpHost", _MailSmtpHost); XmlTool.Update("Root/SmtpPort", _MailSmtpPort); XmlTool.Update("Root/ToAddress", useremail); XmlTool.Update("Root/UserInfo", username); XmlTool.Save(); XmlTool.Dispose(); if (GmailHelp.GmailSendMail(username, _To, _Body, _Title, _MailAddress, _MailNickName, _MailPassword, _MailSmtpHost, int.Parse(_MailSmtpPort))) { return true; } else { return false; } } #endregion #region 获取主机名称 /// /// 获取主机名称 返回如 www.myWeb.com or www.myWeb.com:8080 注意没有 http:// /// /// public static string GetHttpHost() { int Port = HttpContext.Current.Request.Url.Port; if (Port == 80) { return HttpContext.Current.Request.Url.Host; } else { return HttpContext.Current.Request.Url.Host + ":" + Port; } } #endregion /// /// 调用 GmailSendMail("收件姓名","收件人","邮件内容","邮件标题","发件人","发件人姓名","密码","smtp主机","端口")IsBodyHtml 表示所使用的邮件是HTML格式的, 还是Text 文本格式的 EnableSsl 是否启用 SSL 连接, GMail 是需要的, 163 就不需要了... /// /// /// /// /// /// /// /// /// /// public static bool GmailSendMail(string UserInfo, string MailTo, string StrBody, string strSubjec, string MailFrom, string MailFromName, string myPwd, string smtpHost, int smtpPort) { bool flag = true; string[] _mail = MailTo.Split(','); System.Net.Mail.MailMessage onemail = new System.Net.Mail.MailMessage(MailFrom, MailTo, strSubjec, StrBody); onemail.BodyEncoding = System.Text.Encoding.UTF8; onemail.IsBodyHtml = true; //onemail.From = new System.Net.Mail.MailAddress(MailFrom); onemail.From = new MailAddress(MailFrom, "xxx", System.Text.Encoding.UTF8); onemail.To.Add(new System.Net.Mail.MailAddress(MailTo)); onemail.Subject = strSubjec; onemail.Body = StrBody; System.Net.Mail.SmtpClient clint = new System.Net.Mail.SmtpClient(smtpHost, smtpPort);//发送邮件的服务器 clint.Credentials = new System.Net.NetworkCredential(MailFrom, myPwd); clint.EnableSsl = true;//Gmail 必须的 clint.Timeout = 10000;//必须的 try { clint.Send(onemail);//发送 SaveSucLog(UserInfo, MailTo, MailFrom, MailFromName, smtpHost);//保存正确日志 flag = true; } catch (Exception ex) { SaveErrLog(UserInfo, MailTo, MailFrom, MailFromName, smtpHost, ex.Message);//保存错误日志 flag = false; } return flag; } /// /// 保存正确日志 /// /// /// /// private static void SaveSucLog(string UserInfo, string MailTo, string MailFrom, string MailFromName, string MailSmtpHost) { System.IO.StreamWriter sw = new System.IO.StreamWriter(HttpContext.Current.Server.MapPath("/log/mailsuccess_" + DateTime.Now.ToString("yyyyMMdd") + ".txt"), true, System.Text.Encoding.UTF8); sw.WriteLine(System.DateTime.Now.ToString()); sw.WriteLine("\t收信姓名:" + UserInfo); sw.WriteLine("\t收 信 人:" + MailTo); sw.WriteLine("\tSMTP服务器:" + MailSmtpHost); sw.WriteLine("\t发 信 人:" + MailFromName + "<" + MailFrom + ">"); sw.WriteLine("---------------------------------------------------------------------------------------------------"); sw.Close(); sw.Dispose(); } /// /// 保存错误日志 /// /// /// /// /// private static void SaveErrLog(string UserInfo, string MailTo, string MailFrom, string MailFromName, string MailSmtpHost, string ErrMsg) { System.IO.StreamWriter sw = new System.IO.StreamWriter(HttpContext.Current.Server.MapPath("/log/mailerror_" + DateTime.Now.ToString("yyyyMMdd") + ".txt"), true, System.Text.Encoding.UTF8); sw.WriteLine(System.DateTime.Now.ToString()); sw.WriteLine("\t收信姓名:" + UserInfo); sw.WriteLine("\t收 信 人:" + MailTo); sw.WriteLine("\tSMTP服务器:" + MailSmtpHost); sw.WriteLine("\t发 信 人:" + MailFromName + "<" + MailFrom + ">"); sw.WriteLine("\t错误信息:\r\n" + ErrMsg); sw.WriteLine("---------------------------------------------------------------------------------------------------"); sw.Close(); sw.Dispose(); }