河北三个石头  

View Code
/// <summary>
/// 用MailMessage通过需要认证的SMTP服务器发送邮件,可以发送附件
/// </summary>
/// <param name="frmAddress">发件箱地址,例:myaccount@163.com</param>
/// <param name="password">发件箱登录密码</param>
/// <param name="toAddress">收件箱地址,多个地址使用";"隔开,例:youraccount@sina.com</param>
/// <param name="copyTo">抄送地址,多个地址使用";"隔开,例:hisaccount@QQ.com</param>
/// <param name="mailSubject">邮件主题,例:MailTest</param>
/// <param name="mailContent">邮件内容,例:Hello</param>
/// <param name="mailserver">发件箱所在的SMTP服务器,例:smtp.163.com</param>
public void NetSendMail(string frmAddress, string password, string toAddress, string copyTo, string mailSubject, string mailContent, string mailserver)
{
///添加发件人地址
MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress(frmAddress);
///添加收件人地址
string split = ";";
string[] toList = toAddress.Trim().Split(split.ToCharArray());
for (int i = 0; i < toList.Length; i++)
{
mailMsg.To.Add(toList[i].Trim());
}

///添加抄送地址
string[] ccList = copyTo.Trim().Split(split.ToCharArray());
for (int i = 0; i < ccList.Length; i++)
{
if (ccList[i].Trim().Length > 0)
{
mailMsg.CC.Add(ccList[i].Trim());
}
}

///添加邮件主题
mailMsg.Subject = mailSubject.Trim();
mailMsg.SubjectEncoding = Encoding.UTF8;

///添加邮件内容
mailMsg.Body = mailContent;
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.IsBodyHtml = true; //正文是否为html样式

///添加邮件附件
HttpFileCollection fileList = HttpContext.Current.Request.Files;
for (int i = 0; i < fileList.Count; i++)
{ ///添加单个附件
HttpPostedFile file = fileList[i];
if (file.FileName.Length <= 0 || file.ContentLength <= 0)
{
break;
}
string path = Server.MapPath("~/FileUpload/"); //附件保存在程序所在的目录FileUpload下
string name = System.IO.Path.GetFileName(file.FileName);
file.SaveAs(path + name);
mailMsg.Attachments.Add(new System.Net.Mail.Attachment(file.FileName));
}
try
{
//实例化SmtpClient邮件发送类对象
SmtpClient client = new SmtpClient(mailserver, 25); //大部分smtp服务器的端口是25
//设置用于验证发件人身份的凭据
client.Credentials = new System.Net.NetworkCredential(frmAddress, password);
//发送邮件
client.Send(mailMsg);
Response.Write("<script type='text/javascript'>alert('发送成功!')</script>");
}
catch
{
Response.Write("<script type='text/javascript'>alert('发送失败')</script>");
}
}

posted on 2013-06-08 20:34  河北三个石头  阅读(177)  评论(0编辑  收藏  举报