C#发送邮件
基础调用类:
public class EmailHelper
{
/// <summary>
/// 发件人名称
/// </summary>
public string MailName { get; set; }
/// <summary>
/// 收件人
/// </summary>
public string MailTo { get; set; }
/// <summary>
/// 密送
/// </summary>
public string MailBCC { get; set; }
/// <summary>
/// 抄送
/// </summary>
public string MailCC { get; set; }
/// <summary>
/// 主题
/// </summary>
public string MailSubject { get; set; }
/// <summary>
/// 内容
/// </summary>
public string MailHTMLBody { get; set; }
/// <summary>
/// 附加
/// </summary>
public string MailAttachments { get; set; }
public string MailAttachments2 { get; set; }//第二个附件
public bool Send(ref string message)
{
try
{
//發送郵件
MailMessage myEmail = new MailMessage();
myEmail.From = new MailAddress(string.Format("{0}@xxxxx.com.cn", MailName));//mail from
//myEmail.To.Add(new MailAddress(MailTo));
string[] MailToAll = MailTo.Split(';');
for (int i = 0; i < MailToAll.Length; i++)
{
myEmail.To.Add(new MailAddress(MailToAll[i]));
}
// 設定密送 2022-10-21 tom
if (!string.IsNullOrEmpty(MailBCC))
{
string[] MailBCCAll = MailBCC.Split(';');
for (int i = 0; i < MailBCCAll.Length; i++)
{
myEmail.Bcc.Add(new MailAddress(MailBCCAll[i]));
}
}
myEmail.Subject = MailSubject;//郵件主題
if (MailAttachments != null)
{
myEmail.Attachments.Add(new Attachment(MailAttachments));
}
//myEmail.Attachments.Add(new Attachment(MailAttachments));
if (MailAttachments2 != null)
{
myEmail.Attachments.Add(new Attachment(MailAttachments2));
}
AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(MailHTMLBody, null, "text/html");
myEmail.AlternateViews.Add(htmlBody);
myEmail.BodyEncoding = Encoding.UTF8; //編碼格式
myEmail.Priority = MailPriority.Normal; //重要性
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = true;
smtp.Port = 25;
smtp.Host = "10.3.1.1";
smtp.EnableSsl = false;
smtp.Send(myEmail);
message = "发送成功";
return true;
}
catch (System.Exception ex)
{
message = ex.ToString();
return false;
}
}
}
调用类:
//郵件發送
public bool emails(string MailFrom, string MailTo, string MailSubject, string Content, string FilePath)
{
try
{
EmailHelper EMAIL = new EmailHelper();
messageString = "生成成功";
EMAIL.MailName = MailFrom + System.DateTime.Now.ToString("yyyyMMdd");
EMAIL.MailTo = MailTo;
//EMAIL.MailTo = mEmailResult;
//EMAIL.MailCC = "Kay@xxxxx.com.cn;";
//EMAIL.MailBCC = "Kay@xxxxx.com.cn";
EMAIL.MailSubject = MailSubject + DateTime.Now.ToString("yyyy-MM-dd");
EMAIL.MailHTMLBody = "<table>";
EMAIL.MailHTMLBody = "<table><tr><td>Dear Sirs:</td></tr><tr><td> </td></tr><tr><td style='color:red'>" + Content + "</td></tr>";
EMAIL.MailHTMLBody += "<tr><td><span style='background:aqua;mso-highlight:aqua'></span></td></tr></table>";
//EMAIL.MailAttachments = fileName;
EMAIL.MailAttachments = FilePath;
resultBool = EMAIL.Send(ref messageString);
return true;
if (!resultBool)
{
messageString = "郵件發送失敗!" + messageString;
return false;
}
}
catch (Exception ex)
{
return false;
}
}
实例:
string filePath = "产量.xlsx"; // 替换为你的文件路径
MailFrom = "Information";//发件人
MailTo = "Kay@xxxxx.com.cn;Dai@xxxxx.com.cn";//收件人
MailSubject = "测试数据";//主题
Content ="" +Line_N + "-每小时产量.xlsx 附件,请查收!";//附件
if (emails(MailFrom, MailTo, MailSubject, Content, filePath))
{
MessageBox.Show("发送成功");
}
else
{
MessageBox.Show("发送失败");
}
以上代码可以在项目中添加一个按钮进行测试。
结语:本文主要分享如何用C#代码发送信息给邮件,亲测可用。