2020-12-22

C#发送电子邮件

用到的命名空间
using System.Net.Mail;

下面贴代码:
///
/// 发送邮件
///
/// 收件人(多个电子邮件地址之间必须用逗号字符(“,”)分隔)
/// 标题
/// 内容
/// 内嵌图片
/// 附件路径
public bool SendMessage(string sendToList, string subject, string body, string inLineImage, string attachmentsPath)
{
string host = “smtp.exmail.qq.com”; //表示腾讯企业邮箱服务器
string userName = “xxx@xxx.com.cn”; //发送端账号
string password = “xxxx”; //发送端密码
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network; //指定电子邮件发送方式
client.Host = host;
client.UseDefaultCredentials = true;
client.Credentials = new System.Net.NetworkCredential(userName, password);//用户名、密码
MailMessage msg = new MailMessage();
msg.From = new MailAddress(userName, “xxx”);
msg.To.Add(sendToList);
msg.Subject = “【”+ subject +"】"; //邮件标题
msg.Body = body; //邮件内容
msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml = true; //是否是HTML邮件
msg.Priority = MailPriority.Normal; //邮件优先级
//在有附件的情况下添加附件
if (attachmentsPath != null && attachmentsPath.Length > 0)
{
msg.Attachments.Add(new Attachment(attachmentsPath));
}
string plainTextBody = “如果你邮件客户端不支持HTML格式,或者你切换到“普通文本”视图,将看到此内容”;
msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(plainTextBody, null, “text/plain”));
HTML格式邮件的内容
string htmlBodyContent = body+"

";
htmlBodyContent += “<a href=“http://outofmemory.cn/”> <img src=“cid:inImage”>”; //注意此处嵌入的图片资源
AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(htmlBodyContent, null, “text/html”);
if (inLineImage != null && inLineImage.Length > 0)
{
LinkedResource lrImage = new LinkedResource(inLineImage, “image/gif”);
lrImage.ContentId = “inImage”; //此处的ContentId 对应 htmlBodyContent 内容中的 cid: ,如果设置不正确,请不会显示图片
htmlBody.LinkedResources.Add(lrImage);
msg.AlternateViews.Add(htmlBody);
}
如果发送失败,SMTP 服务器将发送 失败邮件告诉我
msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
try
{
client.Send(msg);
}
catch (SmtpException ex)
{
client.Dispose();
msg.Dispose();
return false;
throw ex;
}
client.Dispose();
msg.Dispose();
return true;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值