群发邮件,对于网站和一些推广应用,可谓不可或缺的“技能”

对于.NET而言,从2.0开始,发邮件已经是一件非常easy 的事了。下面我给出一个用C#群发邮件的实例,做了比较详细的注解,希望对有需要的朋友有所help。看了这篇BLOG,如果你还不会用.NET发邮件,要么你去死,要么还是你去死

Let’s Go !!

// 引入命名空间
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 ); //发送邮件,如果不返回异常, 则大功告成了。

OH, 卖糕的,终于写完了

C# 群发邮件 (密送、抄送)相关推荐

  1. 带附件/密送/抄送的 javaMail 邮件发送 -- java_demo(两种实现方式)

    话不多说,上代码--第一种,自己实现的,参考资料 javaMail 的邮件发送包括了抄送(CC),密送(BCC)采用springBoot 常用的邮件服务器名称.地址及SSL/非SSL协议端口号 Jav ...

  2. .NET C# 群发 HTML格式 带附件 中文发送者 密送 抄送 的邮件

    转载于:https://www.cnblogs.com/sjcatsoft/archive/2008/11/08/1329672.html

  3. java邮箱设置密送_修改后可以发送附件、抄送、密送的javabean,吐血推荐~(javamail范例)...

    修改后可以发送附件.抄送.密送的javabean,吐血推荐~(javamail范例) 作者:Andy.m    文章来源:www.jspcn.net 发布日期:2004年02月16日 /* *Auth ...

  4. 采用SpringBoot发送简单、抄送、密送、带附件邮件

    前言:JavaMail发送邮件的形式多种多样,有简单.抄送.密送.带附件邮件等. 1. 业务需求 实现邮件的简单.抄送.密送和带附件发送四种方式. 2. 实现步骤     在这里,我使用QQ邮箱作为测 ...

  5. Python网络编程:E-mail服务(八) 实现抄送和密送功能

    简介 本文介绍如何通过smtp模块实现邮件的抄送和密送功能. 抄送功能实现 在发送邮件时,除了发送给相关的责任人,有时还需要知会某些人.这时就需要在邮件里指定抄送人员列表.相关实现如下: import ...

  6. c#发送邮件(带抄送,密送,群发,附件)

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  7. 通过javaMail发送邮件,可选添加多个收件人,密送,抄送,多个附件,超实用

    自己通过学习多人的代码,并整理了一个简单,调用方便的通过javaMail发送邮件.只需填写发件邮箱地址,密码:收件人地址,附件,选择是否保存,设置自己发送邮件时的昵称就ok了.代码自动匹配设置smtp ...

  8. python使用SMTP发邮件时使用Cc(抄送)和Bcc(密送)

    SMTP发送邮件的时候,并没有特殊的通信语句告诉邮件服务器 谁是主送,谁是抄送/密送,这三个角色都是以同样的方式告诉邮件服务器的,然后重点在邮件内容里. 邮件内容分为头和体两部分(就像http),头部 ...

  9. SpringBoot邮件发送(抄送、密送、图片、多文件等一应俱全哦)

    人生若只如初见,何事秋风悲画扇. 下班回去听到室友讲到他们项目正在写一个邮件发送,突然手痒写此功能,后来总结形成该文,希望对大家有帮助! 本文非常详细且实用,是不是干货你说了算! 所用:springb ...

  10. 【_ 記 】发送邮件功能和MimeMessageHelper 对象下的To Cc Bcc(发送,抄送,密送)

    MimeMessageHelper 对象下的To Cc Bcc(发送,抄送,密送) MimeMailService config.properties 配置文件,把邮件发送的host port use ...

最新文章

  1. 西南交通大学计算机专硕调剂,2019年西南交通大学接收调剂信息
  2. 【控制】《自动控制原理》胡寿松老师-第3章-线性系统的时域分析法
  3. VS2008 开发设计MOSS工作流 URN 注意了
  4. Iframe 高度自适应的问题
  5. Educational Codeforces Round 47
  6. 数据库篇之[bsp_advertpositions]数据表-BrnShop1.9升级至2.1升级说明(非官方版本)...
  7. 算法模板java_我的Java设计模式-模板方法模式
  8. 今天晴儿和老佛爷又一起上台了
  9. Android入门学习3
  10. 来看看 ETL 和数仓建模的设计思路!
  11. 深度卷积神经网络的高级主题
  12. 计算机系统cache是什么意思啊,cache是什么意思 ?(图文)
  13. 基于darknet的voc数据集训练和mAP测试
  14. 【无标题】**数据库课设:三天完成学生信息管理系统**
  15. IDC数据:中国VR市场2017预计增幅将达441.2%
  16. HTML学生个人网站作业设计:电影设计——爱影评在线电影(11页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  17. Ubuntu快捷键——终端
  18. GaussDB数据库管理
  19. nginx 根据目录指定root_部署Nginx网站服务实现访问状态统计以及访问控制功能
  20. 如何解决 Iterative 半监督训练 在 ASR 训练中难以落地的问题丨RTC Dev Meetup

热门文章

  1. python程序执行完后重头开始做烧饼_从“程序员转行卖烧饼”想到IT人创业
  2. MySQL-Parser
  3. 基于php和mysql实现的简易民航订票系统实验
  4. iOS开发者账号Agent更换
  5. GB2312 编码(转)
  6. 用pygame写像素游戏地图编辑器
  7. rtmp推流工具_小熊录屏:支持RTMP直播录屏的手机APP——墨涩网
  8. 【回顾】基于树莓派下的4G模块(EC200U-CN)实现远程控制短信的收发
  9. 现代通信网(第1章 绪论)
  10. 家里宽带628连不上_win7系统宽带连接提示错误628的解决方法