LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

.NET(C#):使用SmtpClient发送带有图片和附件的电子邮件

admin
2017年11月7日 21:10 本文热度 6132

第一次使用这种方式发邮件呵呵,就比如拿我的Live邮箱往QQ邮箱上发一封邮件。

使用SmtpClient发送邮件的步骤就不讲了,在网上你可以找到太多的资料了,这里说一些需要注意的地方:

如果邮件的内容是HTML,设置MailMessage.IsBodyHtml为True,这样邮件才能够被正确以HTML形式读取。

在HTML中引用资源使用cid:xxx,xxx是附件的ContentId属性。同时也可以在MailMessage中的AlternateViews中加入AlternateView来指定电子邮件内容的不同格式。通过AlternativeView的LinkedResources来加入引用文件。引用也是通过LinkedResource的ContentId来设置的。事实上这个ContentId属性是来自AttachmentBase类型,而Attachment,AlternateView和LinkedResource类型都继承与这个类:

另外邮件的内容,主题,地址名称如果包含某些非ASCII字符的话应该指定一个编码,因为默认编码是ASCII。

最后某些SMTP服务器可能不支持SSL传输,因此SmtpClient的EnableSsl只能为false(否则会有异常抛出)。

代码:

using System;

using System.Text;

using System.Net;

using System.Net.Mime;

using System.Net.Mail;

namespace Mgen

{

class Program

{

static void Main()

{

//代码中的某些信息(如邮箱和密码)已用xxx代替,因此如果编译代码,请先替换成有效的数据!

using (var smtp = new SmtpClient())

using (var mail = new MailMessage("xxx@live.com", "xxx@qq.com"))

{

//图像附件

var attach = new Attachment(@"D:\a.jpg", MediaTypeNames.Image.Jpeg);

//设置ContentId

attach.ContentId = "pic";

//ZIP附件

var attach2 = new Attachment(@"D:\b.zip", "application/x-zip-compressed");

mail.Attachments.Add(attach);

mail.Attachments.Add(attach2);

//标题和内容,注意设置编码,因为默认编码是ASCII

mail.Subject = "你好";

mail.SubjectEncoding = Encoding.UTF8;

//HTML内容

mail.Body = "<img src=\"cid:pic\"/><p>来自Mgen。</p>";

mail.BodyEncoding = Encoding.UTF8;

//指示改电子邮件内容是HTML格式

mail.IsBodyHtml = true;

//SMTP设置(根据邮箱类型设置,这里是Live Mail的SMTP服务器地址)

smtp.Host = "smtp.live.com";

smtp.UseDefaultCredentials = false;

//某些SMTP服务器可能不支持SSL,会抛出异常

smtp.EnableSsl = true;

smtp.Credentials = new NetworkCredential("xxx@live.com", "xxx");

smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

//发送

smtp.Send(mail);

}

}

}

}

最后在QQ邮箱中浏览接收到的邮件:


该文章在 2017/11/7 21:10:14 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved