【干货】.NET开发通用组件发布(二) 邮件发送组件
组件介绍和合作开发
http://www.cnblogs.com/MrHuo/p/MrHuoControls.html
邮件发送组件
邮件发送组件采用常用的SMTP发送方式,需要添加以下格式的配置文件。
1、配置文件:
文件名:SMTPConfig.xml
文件内容:
<?xml version="1.0" encoding="utf-8" ?> <SMTPConfig> <SMTPServer>smtp.qq.com</SMTPServer> <UserName>491217650@qq.com</UserName> <UserPassword>******</UserPassword> <Port>25</Port> <EnableSsl>false</EnableSsl> <Encoding>UTF-8</Encoding> <DefaultSender>491217650@qq.com</DefaultSender> <DefaultSenderName>[MrHuoStudio]</DefaultSenderName> <IsBodyHtml>true</IsBodyHtml> <IsAsyncSend>true</IsAsyncSend> </SMTPConfig>
2、使用方法:
引用名称空间:using MrHuo.Controls.Email;
3、代码:
using (EmailSender email = new EmailSender()
{
Subject = "Email Subject",
EmailBody = "Hello World"
})
{
email.AddReceiver("491217650@qq.com");
email.AddReceiver("admin@mrhuo.com");
//这里可以添加N个邮件接收者
email.OnBeginSend += email_OnBeginSend;
//事件,邮件发送之前触发
email.OnEndSend += email_OnEndSend;
//事件,邮件发送完毕触发
email.OnError += email_OnError;
//事件,邮件发送出错时触发
email.Send();
}
void email_OnError(object sender, SendEmailFaildEventArgs e)
{
Console.WriteLine("发送给地址【" + e.MailAddress + "】的邮件发送失败,原因:" + e.Exception.Message);
}
void email_OnBeginSend(object sender, SendEmailEventArgs e)
{
Console.WriteLine("准备发送邮件:" + e.MailAddress);
}
void email_OnEndSend(object sender, SendEmailEventArgs e)
{
Console.WriteLine("邮件已发送到:" + e.MailAddress);
}
其中的事件,可有可无,根据开发者自己需求开发。
【干货】.NET开发通用组件发布(二) 邮件发送组件的更多相关文章
- 转:Node.js邮件发送组件- Nodemailer 1.0发布
原文来自于http://www.infoq.com/cn/news/2014/07/node.js-nodemailer1.0-publish Nodemailer是一个简单易用的Node.js邮件发 ...
- React Native组件(二)View组件解析
相关文章 React Native探索系列 React Native组件系列 前言 了解了RN的组件的生命周期后,我们接着来学习RN的具体的组件.View组件是最基本的组件,也是首先要掌握的组件,这一 ...
- 【干货】.NET开发通用组件发布(一) 介绍
组件介绍 集合个人和团都开发中遇到的一些通用组件,邮件发送组件.内容采集.CSV数据文件导入工具.日志记录组件.MVC验证登陆组件.MVC分页组件.短信发送组件和强大的Repeate和Repeater ...
- 【干货】.NET开发通用组件发布(四) 日志记录组件
组件介绍和合作开发 http://www.cnblogs.com/MrHuo/p/MrHuoControls.html 日志记录组件功能介绍 通过基类Logger,实现了文本记录日志和数据库记录日志两 ...
- React Native组件(三)Text组件解析
相关文章 React Native探索系列 React Native组件系列 前言 此前介绍了最基本的View组件,接下来就是最常用的Text组件,对于Text组件的一些常用属性,这篇文章会给出简单的 ...
- CI(CodeIgniter)框架下使用非自带类库实现邮件发送
在项目开发过程中,需要到了邮件提醒功能.首先想到的是CI自身带不带邮件发送类,查看帖子,发现CI本身自带,然后试着利用CI自身带的类库来实现,经过搜搜很多帖子,不少开发者反馈CI自身的Email类有问 ...
- (Swiftmailer)高效的PHP邮件发送库
Swiftmailer是一个类似PHPMailer邮件发送组件,它也支持HTML格式.附件发送,但它发送效率相当高,成功率也非常高,很多PHP框架都集成了Swiftmailer. Swiftmaile ...
- 微信小程序 自定义组件(modal) 引入组件
项目结构: 步骤一:创建组件 声明这一组文件为自定义组件 modal.json { "component": true, // 自定义组件声明 "usingCompone ...
- 给 Web 开发人员推荐的通用独立 UI 组件(二)
现代 Web 开发在将体验和功能做到极致的同时,对于美观的追求也越来越高.在推荐完图形库之后,再来推荐一些精品的独立 UI 组件.这些组件可组合在一起,形成美观而交互强大的 Web UI . 给 We ...
随机推荐
- ocos 信号量
信号量分为 :声明信号量.互斥信号量 转: ucos-ii学习笔记——信号量的原理 ucos-ii学习笔记——信号量的原理及使用 #include "INCLUDES.h" ...
- 使用C# DES解密java DES加密的字符串
转自 microAllen 最近需要使用C#的DES解密工具类解密字符串,但是要解密的字符串是使用java进行DES加密的,去网上查了关于C#和java关于DES加密解密的资料,发现可以相互加密解 ...
- ububtu 彻底卸载程序的几种方法
sudo apt-get purge ......(点点为为程序名称) sudo apt-get autoremove sudo apt-get clean dpkg -l |grep ^rc|awk ...
- FJ省队集训DAY2 T2
思路:我们可以考虑三角剖分,这样问题就变成考虑三角形的选取概率和三角形内有多少个点了. 先用树状数组预处理出三角剖分的三角形中有多少个点,然后用线段树维护,先用原点极角排序,然后枚举i,再以i极角排序 ...
- 一些pyhon的学习资料
一直没有时间学习python,都说python语法简洁优美.但是我看它的语法还是不爽啊,没C/C++好阅读.但是C/C++又必须了解底层的计算机模型.着实会门槛高一些.特别是C++,对于我来说简直就是 ...
- tag_on_failure => [] # prevent default _grokparsefailure tag on real records
[elk@zjtest7-frontend config]$ cat stdin04.conf input { stdin { } } filter { # drop sleep events gro ...
- BZOJ1430: 小猴打架
1430: 小猴打架 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 328 Solved: 234[Submit][Status] Descripti ...
- git 查看文件修改记录
今天追了个几年前留下来的坑, 在 git 里追溯修改过程坑死个爹, 具体方法估计没多久又会忘, 还是记下来以后有的参考 大部分教程都会告诉大家使用 git log 来查看对应文件的修改记录, 就像这样 ...
- [转]notifyDataSetChanged() 动态更新ListView
有时候我们需要修改已经生成的列表,添加或者修改数据,notifyDataSetChanged()可以在修改适配器绑定的数组后,不用重新刷新Activity,通知Activity更新ListView.今 ...
- js推断元素是否隐藏
if( document.getElementById("div").css("display")==='none') if( document.getEl ...