`

.net发邮件【转】

 
阅读更多
对于.NET而言,从2.0开始,发邮件已经是一件非常easy 的事了。下面我给出一个用C#群发邮件的实例,做了比较详细的注解,希望对有需要的朋友有所help。

// 引入命名空间
using System.Net;
using System.Net.Mail;

SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClient
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Network
smtp.EnableSsl = false;//smtp服务器是否启用SSL加密

smtp.Host = "smtp.163.com"; //指定 smtp 服务器地址
smtp.Port = 25;             //指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去

//如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了
smtp.UseDefaultCredentials = true;
//如果需要认证,则用下面的方式
smtp.Credentials = new NetworkCredential("邮箱帐号@163.com", "邮箱密码");

MailMessage mm = new MailMessage(); //实例化一个邮件类

mm.Priority = MailPriority.High; //邮件的优先级,分为 Low, Normal, High,通常用 Normal即可

mm.From = new MailAddress("邮箱帐号@163.com", "真有意思", Encoding.GetEncoding(936));
//收件方看到的邮件来源;
//第一个参数是发信人邮件地址
//第二参数是发信人显示的名称
//第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
//936是简体中文的codepage值

注:上面的邮件来源,一定要和你登录邮箱的帐号一致,否则会认证失败

mm.ReplyTo = new MailAddress("test_box@gmail.com", "我的接收邮箱", Encoding.GetEncoding(936));
//ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信
//上面后两个参数的意义, 同 From 的意义

mm.CC.Add("a@163.com,b@163.com,c@163.com");
//邮件的抄送者,支持群发,多个邮件地址之间用 半角逗号 分开

//当然也可以用全地址,如下:
mm.CC.Add(new MailAddress("a@163.com", "抄送者A", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("b@163.com", "抄送者B", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("c@163.com", "抄送者C", Encoding.GetEncoding(936)));

mm.Bcc.Add("d@163.com,e@163.com");
//邮件的密送者,支持群发,多个邮件地址之间用 半角逗号 分开

//当然也可以用全地址,如下:
mm.CC.Add(new MailAddress("d@163.com", "密送者D", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("e@163.com", "密送者E", Encoding.GetEncoding(936)));

mm.Sender = new MailAddress("xxx@xxx.com", "邮件发送者", Encoding.GetEncoding(936));
//可以任意设置,此信息包含在邮件头中,但并不会验证有效性,也不会显示给收件人
//说实话,我不知道有啥实际作用,大家可不理会,也可不写此项

mm.To.Add("g@163.com,h@163.com");
//邮件的接收者,支持群发,多个地址之间用 半角逗号 分开

//当然也可以用全地址添加

mm.To.Add(new MailAddress("g@163.com", "接收者g", Encoding.GetEncoding(936)));
mm.To.Add(new MailAddress("h@163.com", "接收者h", Encoding.GetEncoding(936)));

mm.Subject = "这是邮件标题"; //邮件标题
mm.SubjectEncoding = Encoding.GetEncoding(936);
// 这里非常重要,如果你的邮件标题包含中文,这里一定要指定,否则对方收到的极有可能是乱码。
// 936是简体中文的pagecode,如果是英文标题,这句可以忽略不用

mm.IsBodyHtml = true; //邮件正文是否是HTML格式

mm.BodyEncoding = Encoding.GetEncoding(936);
//邮件正文的编码, 设置不正确, 接收者会收到乱码

mm.Body = "<font color="red">邮件测试,呵呵</font>";
//邮件正文

mm.Attachments.Add( new Attachment( @"d:a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf ) );
//添加附件,第二个参数,表示附件的文件类型,可以不用指定
//可以添加多个附件
mm.Attachments.Add( new Attachment( @"d:b.doc") );

smtp.Send( mm ); //发送邮件,如果不返回异常, 则大功告成了。

分享到:
评论

相关推荐

    asp.net知识库

    遭遇 ASP.NET 2.0 只读 TextBox 回发后信息丢失的 bug asp.net2.0:扩展ImageButton控件定制自己需要的功能 ASP.NET 2.0 正式版中无刷新页面的开发(示例代码的补充) ASP.NET2.0中themes、Skins轻松实现网站换肤! ...

    asp.net发送邮件,使用MD5加密解密,实现用户注册完成后发送流水号(账号)到对方邮箱,jeasyUI验证,combobox的使用完成 实例下载

    里面包含了加密,和生成流水号(当前年度+地区号+流水号(0001)递增),还有发送邮件.其中有些公共的方法是在CommonHepler 还有一个DBHepler类这里就不提供了(内容有点多) 我们来看下选择框吧 选择框查询需要...

    ASP.NET语音合成

    这是由vs2008开发,xp系统需要下载语音合成引擎,win7完美支持。有什么问题请发邮件yiyanweilove@126.com

    .NET平台上的文件抽取框架toxy.zip

    目前Toxy支持的结构有string – 文本结构ToxyDom – Dom结构ToxySpreadsheet – 类似Excel的表单结构ToxyDocument – 类似Word的描述性文本结构ToxyEmail – 邮件结构,包括收件人、发件人、邮件内容、附件等...

    桃源网络硬盘.Net v5.5.rar

    桃源网络硬盘.Net简介: 1.多用户注册各自使用,互不干予。 2.在自己的空间中上传多文件及大文件进行在线查看管理,可建多级目录存放。 3.文件目录多级共享,可共享整个用户空间。 4.树状显示系统功能和目录结构,...

    易贝网站 ASP.NET

    易贝购物网站 ASP.NET 1.用户模型里的生日字段有bug,当将其改为其他数据类型的字段时,就提示,不能转换成datatime类型,所以这个字段应该设置为不能修改,或只能用日期类型的控件 2.模型字段可以上下移动 3.完成...

    Windows下纯C语言Socket、smtp发送邮件,支持附件

    5、自动解析发件箱的SMTP服务器 压缩包文件简介: base.c:包含一些基本的函数,其中有一些在此程序中并未用到,只要使用了其中的base64加密算法 mail.c:包含邮件发送、数据读取、编码转换、smtp服务器连接、ip...

    盛世桃源通用文件管理系统 v2.5 for .net 2.0/3.0/3.5.zip

    26.站内短消息功能,提供收件箱、发件箱、已发送、垃圾箱功能。 27.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间,并可指定访问路径。 28.他人上传和编辑共享中的文件时记录上传用户或编辑...

    桃源网络硬盘.Net5.5

    29.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 30.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 31.网银、支付宝、快钱、财付通、云网、易充、PayNow(台湾)在线支付,用户可...

    梦想家园留言板2008(ASP.NET2.0)

    欢迎使用功能强大的梦想家园留言板2008(Build 0509) &lt;br&gt;本留言板完全开源... 使用过程中如果遇到问题请联系: QQ: 835739751 Email:snowdust77#163.com(发邮件时请将换转成@) MSN:china-aspx@hotmail....

    基于asp.net的网络硬盘

    29.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 30.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 31.网银、支付宝、快钱、财付通,PayNow(台湾)在线支付,用户可任选支付,...

    桃源网络硬盘.Net v5.8.zip

    29.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 30.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 31.网银、支付宝、快钱、财付通、云网、易充、PayNow(台湾)在线支付,用户...

    电子邮件系统的设计与实现.doc

    存储空间包含存放所收信件、编辑信件以 及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转 发、存档等各种操作。系统功能主要由软件实现。 开发环境及运行环境 1.4.1开发环境 AMD ...

    VB 转换人民币大写

    可以转换到千兆(15个0) 未经过详细测试。。也许存在部分不能转换的数字请发邮件(jixiangqd@yeah.net)告诉我~

    桃源网络硬盘.Net v5.2

    站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 30.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 31.网银、支付宝、快钱、财付通,PayNow(台湾)在线支付,用户可任选支付,...

    桃源网络硬盘.Net v5.4 for .net 2.0/3.0/3.5

    29.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 30.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 31.网银、支付宝、快钱、财付通、云网、易充、PayNow(台湾)在线支付,用户可...

    桃源网络硬盘.Net v4.6.zip

    28.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 29.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 30.网银、支付宝、快钱,PayNow(台湾)在线支付,空间自动续费升级,别人...

    桃源网络硬盘ASP.NET版

    29.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 30.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 31.网银、支付宝、快钱、财付通、云网、易充、PayNow(台湾)在线支付,用户可...

    51单片机工具集系列之Hex转Bin的小程序

    另:本人发布资源向来是本着共享精神,希望和各位朋友共同学习,一起进步,设置下载积分只是为了尊重csdn.net的积分下载规则,如果你没有积分而需要使用我发布的资源,请发邮件联系我,我会将你需要的资源发给你,...

    所得税计算

    软件功能:准确计算十种类型的所得税。----工资、薪金所得, 个体工商户的生产、经营所得 (年度), 对企事业单位的承包经营、承租经营...---注:需要.NET Framework支持使用中有问题请发邮件到fangpeng@gmail.com

Global site tag (gtag.js) - Google Analytics