ASP.NET 邮件发送
ASP.NET 邮件发送用NET的MAIL类即可实现。
邮件发时,为不影响进程,所以采用多线程实现比较好。
/// <summary>
/// 多线程邮件发送 多线程需注意不要引用到外部方法代码
/// </summary>
/// <param name="model">参数集</param>
/// <param name="toemail">收件人邮箱</param>
/// <param name="title">邮件标题</param>
/// <param name="content">邮件内容</param>
public void SendEmail(Dictionary<string, object> obj, string toEmail, string toTitle, string toBody)
{
obj.Add("toEmail", toEmail); //收件人
obj.Add("toTitle", toTitle); //邮件标题
obj.Add("toBody", toBody); //邮件内容 Thread tr = new Thread(new ParameterizedThreadStart(SendEmail));
tr.Start(obj);
} /// <summary>
/// 单条邮件发送
/// </summary>
/// <returns></returns>
private void SendEmail(object p)
{
Dictionary<string, object> dic = p as Dictionary<string, object>; MailAddress from = new MailAddress(dic["SmtpEmail"].ToString()); //SMTP邮箱账户
MailAddress to = new MailAddress(dic["toEmail"].ToString()); //收件人邮箱
MailMessage message = new MailMessage(from, to);
message.IsBodyHtml = true;
message.Subject = dic["toTitle"].ToString(); //邮件标题
message.Body = dic["toBody"].ToString(); //邮件内容
SmtpClient client = new SmtpClient(dic["SmtpService"].ToString()); //SMTP地址
client.EnableSsl = Convert.ToBoolean(dic["SmtpSSL"]); //是否启用SSL
client.Port = Convert.ToInt32(dic["SmtpPort"]); //SMTP端口
client.Credentials = new NetworkCredential(dic["SmtpAccount"].ToString(), dic["SmtpPwd"].ToString()); //邮箱账户 密码
ServicePointManager.ServerCertificateValidationCallback =
delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; };
client.Send(message);
}
邮件发送说明:
1、邮件发送不成功时,查看服务器日志,可找到错误原因。
Gmail错误:SMTP服务器需要安全连接或客户端未通过身份验证。服务器响应是:5.5.1需要验证
Gmail The SMTP server 5.5.1 Authentication Required
邮件安全性没开启,https://myaccount.google.com/security#connectedapps
访问上面地址,有个开关,开启即可。
2、发送HTML页面代码,将邮件内容填写为HTML源代码即可,注意CSS代码写页面里面,引用外部文件需要注意绝对路径。
ASP.NET 邮件发送的更多相关文章
- asp.net 邮件发送类
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇
在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...
- 用ASP.NET Core 1.0中实现邮件发送功能
准备将一些项目迁移到 asp.net core 先从封装类库入手,在遇到邮件发送类时发现在 asp.net core 1.0中并示提供SMTP相关类库,于是网上一搜发现了MailKit 好东西一定要试 ...
- asp.net 163邮件发送
<table id="> <tr> <td style="width: 393px"> 收信:<asp:TextBox ID=. ...
- ASP.NET Core中使用MialKit实现邮件发送
# 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮 ...
- AspNetCore 目前不支持SMTP协议(基于开源组件开发邮件发送,它们分别是MailKit 和 FluentEmail )
net所有的功能都要重新来一遍,集成众多类库,core任重道远,且发展且努力!! 我们都知道,很多的邮件发送都是基于这个SMTP协议,但现在的.net core对这方面还不太支持,所以我们选择这两个组 ...
- ABP框架系列之二十四:(Email-Sending-EF-电子邮件发送)
Introduction Email sending is a pretty common task for almost every application. ASP.NET Boilerplate ...
- .Net Core邮件发送之MailKit
一 .在.Net Core中MailKit中提供了邮件的基础封装 它支持跨平台,并且支持 IMAP, POP3, SMTP 等协议 Nuget命令: Install-Package MailKit 官 ...
- Chilkat----开源站点之VS2010 CKMailMan一个很好的邮件发送开源开发包
Chilkat 是一个很好的开源站点,有各种开源库. 开发语言主要有Classic ASP •C • C++ • C# • Delphi ActiveX • Delphi DLL • Visual F ...
随机推荐
- mysql安装过程及注意事项
1.1. 下载: 我下载的是64位系统的zip包: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:D:\软件安装包\mysql- ...
- jQuery的文档操作
1.插入操作 一.父元素.append(子元素) 追加某元素 父元素中添加新的元素 var oli = document.createElement('li'); oli.innerHTML = '哈 ...
- Python中常见的数据类型总结
Python提供多种数据类型来存放数据项集合,主要包括序列(列表list和元组tuple),映射(如字典dict),集合(set),下面对这几种一一介绍: 一 序列 1.列表list 列表是一种有序的 ...
- CSS 第1练 搜索
1.搜索 效果: <!DOCTYPE HTML> <html> <head> <meta charset="gbk" /> < ...
- leetcode225
public class MyStack { Queue<int> Q = new Queue<int>(); /** Initialize your data structu ...
- 37.使用PreResultListener实现回调
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 在进行本实例前请前复习:五.2自定义拦截器.因为PreResultListe ...
- Spring cloud 分布式锁
https://github.com/easonstudy/springboot_demo study目录中
- js常用代码整理
引用js <script type="text/javascript" src="js/jquery-1.11.2.min.js"></scr ...
- UNITY polygon collider不随物体旋转
U3D中的一般包围框如 boxcollider, meshcollider, capsule collider等都会随物体旋转而旋转.然而polygon collider却不会. 补充:原来所有2D包 ...
- Apache Hadoop 集群安装文档
简介: Apache Hadoop 集群安装文档 软件:jdk-8u111-linux-x64.rpm.hadoop-2.8.0.tar.gz http://www.apache.org/dyn/cl ...