.Net锦囊-C#,.Net发送邮件三种方法…
最近公司由于一个R&I项目的需要,用户要求在购买产品或出货等一些环节,需要发送邮件提醒或者说每周一让系统自动采集数据发送一封E-mail,因此我也就找来相关资料,写了一个Demo分享给大家,大家共同学习学习。
通过.Net FrameWork
2.0下提供的“System.Net.Mail”可以轻松的实现,本文列举了3种途径来发送:
1.通过Localhost;
2.通过普通SMTP;
3.通过SSL的SMTP;
下面一个一个来说:
[html]
public void
SendMailLocalhost()
{
System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
msg.To.Add("a@a.com");
msg.To.Add("b@b.com");
msg.CC.Add(c@c.com);
msg.From = new MailAddress("a@a.com", "AlphaWu",
System.Text.Encoding.UTF8);
msg.Subject =
"这是测试邮件";//邮件标题
msg.SubjectEncoding =
System.Text.Encoding.UTF8;//邮件标题编码
msg.Body = "邮件内容";//邮件内容
msg.BodyEncoding =
System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml =
false;//是否是HTML邮件
msg.Priority = MailPriority.High;//邮件优先级
SmtpClient client = new
SmtpClient();
client.Host =
"localhost";
object userState = msg;
try
{
client.SendAsync(msg,
userState);
//简单一点儿可以client.Send(msg);
MessageBox.Show("发送成功");
}
catch (System.Net.Mail.SmtpException
ex)
{
MessageBox.Show(ex.Message,
"发送邮件出错");
}
}
public void
SendMailLocalhost()
{
System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
msg.To.Add("a@a.com");
msg.To.Add("b@b.com");
msg.CC.Add(c@c.com);
msg.From = new MailAddress(master@boys90.com, "dulei",
System.Text.Encoding.UTF8);
msg.Subject =
"这是测试邮件";//邮件标题
msg.SubjectEncoding =
System.Text.Encoding.UTF8;//邮件标题编码
msg.Body = "邮件内容";//邮件内容
msg.BodyEncoding =
System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml =
false;//是否是HTML邮件
msg.Priority = MailPriority.High;//邮件优先级
SmtpClient client = new
SmtpClient();
client.Host =
"localhost";
object userState = msg;
try
{
client.SendAsync(msg,
userState);
//简单一点儿可以client.Send(msg);
MessageBox.Show("发送成功");
}
catch (System.Net.Mail.SmtpException
ex)
{
MessageBox.Show(ex.Message,
"发送邮件出错");
}
}
2.通过普通SMTP C#代码如下
[html]
public void
SendMailUseZj()
{
System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
msg.To.Add(a@a.com);
msg.To.Add(b@b.com);
msg.CC.Add("c@c.com");
msg.From = new MailAddress("master@boys90.com", "dulei",
System.Text.Encoding.UTF8);
msg.Subject =
"这是测试邮件";//邮件标题
msg.SubjectEncoding =
System.Text.Encoding.UTF8;//邮件标题编码
msg.Body =
"邮件内容";//邮件内容
msg.BodyEncoding =
System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml =
false;//是否是HTML邮件
msg.Priority =
MailPriority.High;//邮件优先级
SmtpClient client = new
SmtpClient();
client.Credentials = new System.Net.NetworkCredential("dulei@71info.com",
"userpass");
//在71info.com注册的邮箱和密码
client.Host =
"smtp.71info.com";
object userState =
msg;
try
{
client.SendAsync(msg,
userState);
//简单一点儿可以client.Send(msg);
MessageBox.Show("发送成功");
}
catch (System.Net.Mail.SmtpException
ex)
{
MessageBox.Show(ex.Message,
"发送邮件出错");
}
}
3.通过SSL的SMTP
[html]
public void
SendMailUseGmail()
{
System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
msg.To.Add(a@a.com);
msg.To.Add(b@b.com);
msg.CC.Add(c@c.com);
msg.From = new MailAddress("boys90.com", "dulei",
System.Text.Encoding.UTF8);
msg.Subject =
"这是测试邮件";//邮件标题
msg.SubjectEncoding =
System.Text.Encoding.UTF8;//邮件标题编码
msg.Body =
"邮件内容";//邮件内容
msg.BodyEncoding =
System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml =
false;//是否是HTML邮件
msg.Priority =
MailPriority.High;//邮件优先级
SmtpClient client = new
SmtpClient();
client.Credentials = new System.Net.NetworkCredential("boys90com@gmail.com",
"password");
//上述写你的GMail邮箱和密码
client.Port =
587;//Gmail使用的端口
client.Host =
"smtp.gmail.com";
client.EnableSsl = true;//经过ssl加密
object userState =
msg;
try
{
client.SendAsync(msg,
userState);
//简单一点儿可以client.Send(msg);
MessageBox.Show("发送成功");
}
catch (System.Net.Mail.SmtpException
ex)
{
MessageBox.Show(ex.Message,
"发送邮件出错");
}
}
通过Gmail来发送邮件,成功率极高,几乎都可以发到,推荐使用,以上的几种方法,我想已经够我们做开发的用了。至于我做的Demo我整理好了就分享给大家。
我的独立博客90男孩分享网 欢迎大家光临,我们一起努力学习更多的知识,分享网快乐分享,快乐生活!!
版权声明:本文为博主原创文章,未经博主允许不得转载。
.Net锦囊-C#,.Net发送邮件三种方法…的更多相关文章
- C#发送邮件三种方法(Localhost,SMTP,SSL-SMTP)
原文:C#发送邮件三种方法(Localhost,SMTP,SSL-SMTP) 最近公司由于一个R&I项目的需要,用户要求在购买产品或出货等一些环节,需要发送邮件提醒或者说每周一让系统自动采集数 ...
- C#发送邮件三种方法,Localhost,SMTP,SSL-SMTP
C#发送邮件三种方法,Localhost,SMTP,SSL-SMTP 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现,本文列举了3种途径来发送: 1. ...
- 像画笔一样慢慢画出Path的三种方法(补充第四种)
今天大家在群里大家非常热闹的讨论像画笔一样慢慢画出Path的这种效果该如何实现. 北京-LGL 博客号@ligl007发起了这个话题.然后各路高手踊跃发表意见.最后雷叔 上海-雷蒙 博客号@雷蒙之星 ...
- JAVA之线程同步的三种方法
最近接触到一个图片加载的项目,其中有声明到的线程池等资源需要在系统中线程共享,所以就去研究了一下线程同步的知识,总结了三种常用的线程同步的方法,特来与大家分享一下.这三种方法分别是:synchroni ...
- java解析xml的三种方法
java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXE ...
- 【Android】Eclipse自动编译NDK/JNI的三种方法
[Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th 2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...
- DataTable数据批量写入数据库三种方法比较
DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1) insert循环插入:2) sqldataadapter.update(dataset,tablename); ...
- 转载:WinForm中播放声音的三种方法
转载:WinForm中播放声音的三种方法 金刚 winForm 播放声音 本文是转载的文章.原文出处:http://blog.csdn.net/jijunwu/article/details/4753 ...
- [mysql]三种方法为root账户指定密码
前言:前段时间把mysql安装后一直没管它,当时就在奇怪为什么mysql登陆不要密码,原来一直用的超用户账户登陆的(简称超级用户) 其实只怪自己太无知,之前一直用的phpbydamin进行的数据库的可 ...
随机推荐
- QTP自动化测试框架简述
1.使用框架的原因? 框架是一组自动化测试的规范.测试脚本的基础代码,以及测试思想.惯例的集合,从而减少冗余的代码.提高代码生产率,重用性和可维护性. 2.自动化测试框架的架构 脚本层(业务组件开发) ...
- 【BZOJ4238】电压 DFS树
[BZOJ4238]电压 Description 你知道Just Odd Inventions社吗?这个公司的业务是“只不过是奇妙的发明(Just Odd Inventions)”.这里简称为JOI社 ...
- 限制线程数 Limit the number of threads started by colly 随机延迟
random delay | Colly http://go-colly.org/docs/examples/random_delay/
- 流畅python学习笔记:第十七章:并发处理二
本章讨论python3.2引入的concurrent.futures模块.future是中文名叫期物.期物是一种对象,表示异步执行的操作 在很多任务中,特别是处理网络I/O.需要使用并发,因为网络有很 ...
- MySQL——多版本并发控制
核心心知识点: (1)MVCC的优点和缺点 (2)MVCC的工作机制 之前在提及幻读的时候,提到过InnoDB的多版本并发控制可以解决幻读问题. 大多数MySQL的事务性存储引擎,例如InnoDB.F ...
- 在maven 中部署SSM项目找不 Spring ContextLoaderListener 的解决办法
1.项目使用技术:maven的项目使用了Spring MVC+Spring +Mybatis+Tomcat搭建一个项目. 2.报错信息: Error configuring application l ...
- margin的相关属性及应用
1.margin常见问题: ①IE6下双边距 (不推荐使用float+margin,可用padding替代) 详见<css浏览器兼容问题集锦>之4.IE6中margin双边距 ②IE6 ...
- 【ES6】更易于继承的类语法
和其它面向对象编程语言一样,ES6 正式定义了 class 类以及 extend 继承语法糖,并且支持静态.派生.抽象.迭代.单例等,而且根据 ES6 的新特性衍生出很多有趣的用法. 一.类的基本定义 ...
- vue.use解析
vue.use源码: Vue.use = function (plugin) { /*判断插件是否已引入*/ if (plugin.installed) { return } //倒序为一个数组[] ...
- SDUT OJ I样(0-1背包问题 【模板】)
I样 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 这是个什么问题呢?DP,贪心,数据结构,图论,数论还是计算几何?管他呢,反正 ...