/// <summary>
/// 发送邮件方法
/// </summary>
/// <param name="to">电子邮件地址</param>
/// <param name="subject">邮件主题</param>
/// <param name="filePath">文件路径</param>
/// <param name="fileName">文件名</param>
public static void SendMail(MailAddressCollection sendTo, string subject,string filePath,string fileName)
{
System.Net.Mail.MailMessage mailmsg = new System.Net.Mail.MailMessage();
if (sendTo != null)
{
//得到邮件地址
foreach (MailAddress address in sendTo)
mailmsg.To.Add(address);
}
MailAddress FromAddress = new MailAddress(accountName);
mailmsg.From = FromAddress;
mailmsg.Subject = subject;
mailmsg.IsBodyHtml = true;//设置邮件内容的格式
mailmsg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
//得到html文件
string htmlFileContent=GetHtmlFile(filePath, fileName);
//对html中的src进行cid化
string strHtml = GetSendHtml(fileName,htmlFileContent);
//得到图片路径集合
ArrayList imgSrcPath = GetImgSrcPath(htmlFileContent,filePath,fileName);
//设置潜入资源的ContentID的集合
ArrayList contentId = SetContentId(imgSrcPath);
//得到图片名称集合
ArrayList ImgNameColletion = GetImgNameCollection(htmlFileContent, filePath);
//得到发送html文件
string sendHtml = SetSendHtml(strHtml, contentId, ImgNameColletion);
//设置邮件的查看格式
AlternateView mailContent = AlternateView.CreateAlternateViewFromString(sendHtml, null, MediaTypeNames.Text.Html);
mailmsg.AlternateViews.Add(mailContent);
if (imgSrcPath.Count > 0)
{
for (int i = 0; i < imgSrcPath.Count; i++)
{
//设置邮件的潜入资源图片
LinkedResource linkResource = new LinkedResource(imgSrcPath[i].ToString());
linkResource.ContentId = contentId[i].ToString();
mailContent.LinkedResources.Add(linkResource);
}
}
System.Net.Mail.SmtpClient client = new SmtpClient();
client.Host = smtpServer;
client.Port = smtpPort;
client.Credentials = new System.Net.NetworkCredential(accountName, password);//用户名和密码
client.EnableSsl = true;
client.Send(mailmsg);
}