邮件发送在网站应用程序中经常会用到,包括您现在看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,做了一个客户端Demo,希望对有需要的童鞋有所帮助:

核心代码:
003 |
using System.Net.Mail; |
011 |
public class EmailService |
016 |
///
<param name="mailTo">收件人 |
017 |
///
<param name="subject">主题 |
018 |
///
<param name="body">内容 |
019 |
///
<returns></returns> |
020 |
public static bool Send(string mailTo, string subject, string body) |
022 |
return Send(new[]
{mailTo}, null,
subject, body, true, null); |
028 |
///
<param name="mailTo">收件人 |
029 |
///
<param name="subject">主题 |
030 |
///
<param name="body">内容 |
031 |
///
<returns></returns> |
032 |
public static bool Send(string[]
mailTo, string subject, string body) |
034 |
return Send(mailTo, null,
subject, body, true, null); |
040 |
///
<param name="mailTo">收件人 |
041 |
///
<param name="subject">主题 |
042 |
///
<param name="body">内容 |
043 |
///
<param name="attachmentsPath">附件 |
044 |
///
<returns></returns> |
045 |
public static bool Send(string[]
mailTo, string subject, string body, string[]
attachmentsPath) |
047 |
return Send(mailTo, null,
subject, body, true,
attachmentsPath); |
054 |
///
<param name="mailTo">收件人 |
055 |
///
<param name="mailCcArray">抄送 |
056 |
///
<param name="subject">主题 |
057 |
///
<param name="body">内容 |
058 |
///
<param name="isBodyHtml">是否Html |
059 |
///
<param name="attachmentsPath">附件 |
060 |
///
<returns></returns> |
061 |
public static bool Send(string[]
mailTo, string[]
mailCcArray, string subject,string body, bool isBodyHtml, |
062 |
string[]
attachmentsPath) |
066 |
var
config = ConfigHelper.GetConfig<emailconfig>(); |
067 |
if (string.IsNullOrEmpty(config.Host)
||string.IsNullOrEmpty(config.UserName)
|| |
068 |
string.IsNullOrEmpty(config.Port)
||string.IsNullOrEmpty(config.Password)) |
073 |
var
@from = new MailAddress(config.MailFrom); //使用指定的邮件地址初始化MailAddress实例 |
074 |
var
message = new MailMessage(); //初始化MailMessage实例 |
078 |
foreach (string t in mailTo) |
085 |
if (mailCcArray
!= null) |
087 |
foreach (string t in mailCcArray) |
093 |
message.From
= @from; |
096 |
message.Subject
= subject; |
099 |
message.SubjectEncoding
= Encoding.UTF8; |
105 |
message.BodyEncoding
= Encoding.Default; |
106 |
message.Priority
= MailPriority.High; |
107 |
message.IsBodyHtml
= isBodyHtml; |
110 |
if (attachmentsPath
!= null &&
attachmentsPath.Length > 0) |
112 |
foreach (string path in attachmentsPath) |
114 |
var
attachFile = new Attachment(path); |
115 |
message.Attachments.Add(attachFile); |
120 |
var
smtp = new SmtpClient |
122 |
Credentials
= new NetworkCredential(config.UserName,
config.Password), |
124 |
Port
= Convert.ToInt32(config.Port) |
132 |
catch (SmtpException
ex) |
138 |
catch (SmtpException
ex) |
源代码下载
版权声明:本文为博主原创文章,未经博主允许不得转载。
- C# SMTP邮件发送 分类: C# 2014-07-13 19:10 333人阅读 评论(1) 收藏
邮件发送在网站应用程序中经常会用到,包括您现在看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,做了一个客户端Demo,希望对有需要的童鞋有所帮助: 核心代码: ...
- 浅谈IOS8之size class 分类: ios技术 2015-02-05 19:06 62人阅读 评论(0) 收藏
文章目录 1. 简介 2. 实验 3. 实战 3.1. 修改 Constraints 3.2. 安装和卸载 Constraints 3.3. 安装和卸载 View 3.4. 其他 4. 后话 以前和安 ...
- Network Saboteur 分类: 搜索 POJ 2015-08-09 19:48 7人阅读 评论(0) 收藏
Network Saboteur Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10147 Accepted: 4849 Des ...
- Power Strings 分类: POJ 串 2015-07-31 19:05 8人阅读 评论(0) 收藏
Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Practice POJ ...
- Hdu 1506 Largest Rectangle in a Histogram 分类: Brush Mode 2014-10-28 19:16 93人阅读 评论(0) 收藏
Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- 二分图匹配 分类: ACM TYPE 2014-10-01 19:57 94人阅读 评论(0) 收藏
#include<cstdio> #include<cstring> using namespace std; bool map[505][505]; int n, k; bo ...
- Brush Mode --- Nyoj 737 分类: Brush Mode 2014-03-25 08:10 202人阅读 评论(0) 收藏
石子合并(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆 ...
- Hibernate检索方式 分类: SSH框架 2015-07-10 22:10 4人阅读 评论(0) 收藏
我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位.那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为Hi ...
- Can you find it? 分类: 二分查找 2015-06-10 19:55 5人阅读 评论(0) 收藏
Description Give you three sequences of numbers A, B, C, then we give you a number X. Now you need t ...
随机推荐
- python egg文件解压
unzip 就可以了. 由于项目需要将某些版本的库打包,然后 sys.path.insert方式引用(避免升级包导致某些旧的系统崩掉). 在将egg文件打包时,发现不可用.但相关模块的__path__ ...
- Database、User、Schema、Tables、Col、Row
可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中 ...
- Calico在Docker中的搭建
一,Multi-host网络需求 开始之前推荐两篇文章 http://xelatex.github.io/2015/11/15/Battlefield-Calico-Flannel-Weave-and ...
- 利用ssh-copy-id无需密码登录远程服务器
本地机器生成公钥和私钥 ssh-keygen -t rsa 一路回车,最后会在~/.ssh目录下生成id_rsa和id_rsa.pub这两个文件. 与远程服务器建立信任机制 ssh-copy-id - ...
- docker数据拷贝
docker数据拷贝的方式有很多种,下面介绍几种数据拷贝的方式:此处只是介绍几种简易的方式,更多方式可以google下. 从容器中向主机拷贝数据 docker cp <containerId&g ...
- find参数exec、管道符|、xargs的区别
1.这三个命令都可以将前面的输出做为后面的输入. 2.他们对于前面的输出,处理方式不同. find . -name "*.sh" -exec cat {} \; find . -n ...
- 多线程同步_Monitor
多线程一直在学习和理解中...... Monitor类是多线程中用以实现同步的一种技术,主要是同一进程内多线程间的同步技术. Monitor类中有以下几个方法需要注意: Monitor.Enter(o ...
- VS2013,asp.net网站转换为web应用程序
此功能已经不在右键菜单里了,而在主菜单中的“项目-->转换为WEB应用程序”
- IOS - 内购
内购的五种产品类别 •非消耗品(Nonconsumable)买了就有,头衔,功能 –指的是在游戏中一次性购买并拥有永久访问权的物品或服务.非消耗品物品可以被用户再次下载,并且能够在用户的所有设备上使用 ...
- Linux vmstat字段解析
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...