邮件发送在网站应用程序中经常会用到,包括您现在看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,做了一个客户端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 334人阅读 评论(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 ...
随机推荐
- 微信app支付,服务端对接
首先,文档不给力,不吐槽了. 遇到的坑如下: 1. mch_id和appid没有关联关 系 这个没有花太久,参考了csdn某君的建议,直接邮件给相关技术团队(wepayTS@tencent.com). ...
- hdu2196
基本的树形dp,需要dfs三次,第一次求每个点最远的后代,第二次和第三次每个点的孩子分别从左到右和从右到左遍历. #include <cstdio> #include <vector ...
- Tomcat内存溢出(java.lang.OutOfMemoryError: PermGen space)
Tomcat启动时报如下错误: java.lang.OutOfMemoryError: PermGen space 解决办法: 配置相关内存大小.其中按照启动tomcat的不同方式,分 ...
- 用dygraphs图表分析xdebug的trace结果
2015年12月1日 19:44:23 推荐这一篇用百度的ECharts图表工具 本文用到的js图表库: dygraphs 注: 测试数据量 19108个数据点, 最好将数据的量级调小, 这样渲染会很 ...
- 压测 apache ab 初探
2015年10月30日 14:58:34 ab是apache自带的压测命令, 在其bin目录下边, 不仅可以压测Apache, 也可以测nginx或其他服务器 可以模拟上传post值 (-p, 与下边 ...
- 多字段 java对象排序
public class ReflexUtil { static Logger logger = LoggerFactory.getLogger(ReflexUtil.class); //getMet ...
- Delphi 精选文章地址
Delphi 三层开发 ************ http://blog.csdn.net/lailai186/article/category/1396968 Delphi CxGrid 汇总 ...
- 【STL】重载运算符
重载运算符 为什么要重载运算符: C++中预定义的运算符的操作对象只能是基本数据类型.但实际上,对于许多用户自定义类型(例如结构体),也需要类似的运算操作.这时就必须在C++中重新定义这些运算符,赋予 ...
- jquery中使用event.target的几点
jquery中使用event.target的几点 1.this和event.target的区别: js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事 ...
- asp.net mvc htmlHelper
ASP.NET MVC 3.0 HTML辅助方法 HTML辅助方法(html helper)是用来帮助生成HTML的方法. 1.HTML辅助方法应用实例 ◊ 生成form元素 @using (Ht ...