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 邮件发送的更多相关文章

  1. asp.net 邮件发送类

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  2. 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇

    在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...

  3. 用ASP.NET Core 1.0中实现邮件发送功能

    准备将一些项目迁移到 asp.net core 先从封装类库入手,在遇到邮件发送类时发现在 asp.net core 1.0中并示提供SMTP相关类库,于是网上一搜发现了MailKit 好东西一定要试 ...

  4. asp.net 163邮件发送

    <table id="> <tr> <td style="width: 393px"> 收信:<asp:TextBox ID=. ...

  5. ASP.NET Core中使用MialKit实现邮件发送

    # 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮 ...

  6. AspNetCore 目前不支持SMTP协议(基于开源组件开发邮件发送,它们分别是MailKit 和 FluentEmail )

    net所有的功能都要重新来一遍,集成众多类库,core任重道远,且发展且努力!! 我们都知道,很多的邮件发送都是基于这个SMTP协议,但现在的.net core对这方面还不太支持,所以我们选择这两个组 ...

  7. ABP框架系列之二十四:(Email-Sending-EF-电子邮件发送)

    Introduction Email sending is a pretty common task for almost every application. ASP.NET Boilerplate ...

  8. .Net Core邮件发送之MailKit

    一 .在.Net Core中MailKit中提供了邮件的基础封装 它支持跨平台,并且支持 IMAP, POP3, SMTP 等协议 Nuget命令: Install-Package MailKit 官 ...

  9. Chilkat----开源站点之VS2010 CKMailMan一个很好的邮件发送开源开发包

    Chilkat 是一个很好的开源站点,有各种开源库. 开发语言主要有Classic ASP •C • C++ • C# • Delphi ActiveX • Delphi DLL • Visual F ...

随机推荐

  1. 使用GridFsTemplate在mongodb中存取文件

    spring-data-mongodb之gridfs   mongodb除了能够存储大量的数据外,还内置了一个非常好用的文件系统.基于mongodb集群的优势,GridFS当然也是分布式的,而且备份也 ...

  2. 4_bootstrap之栅格系统

    4.栅格系统 4.1.简述栅格系统 为了方便在布局容器中进行网页的布局操作. BootStrap提供了一套专门用于响应式开发布局的栅格系统. 栅格系统将一行分为12列,通过设定元素占用的列数来 布局元 ...

  3. linux版飞信安装

    下载安装包; http://www.it-adv.net/fetion/libraryrh4x32.tar.gz  [支持库] http://www.it-adv.net/fetion/downloa ...

  4. 725. Split Linked List in Parts

    ▶ 将一个单链表拆分为长度尽量接近的 k 段 ● 自己的代码,12 ms ■ 记链表长度为 count,目标段数为 k,quo = count / k,mod = count % k,part = m ...

  5. np归纳总结(全)第一天

    1.概述 1.np.array()  # 将列表转换为数组 import numpy as np array = [1, 2, 3, 4, 5] array = np.array(array) 2.. ...

  6. maven 统一管理依赖的版本号

  7. centos 使用windows7 存储

    1. 在Windows7上创建一个带密码的用户,如disk 2. 创建一个文件夹,如 D:\centos-disk2 3. 选中此文件夹,点击上方的  共享 -> 特定用户, 添加disk用户, ...

  8. cas-client登录后报INVALID_PROXY_CALLBACK

    服务器部署cas,登录后页面提示INVALID_PROXY_CALLBACK 然后查看cas的日志,日志报以下错误: 2018-06-29 11:36:06,251 ERROR [org.jasig. ...

  9. spring集成mybatis配置多个数据源,通过aop自动切换

    spring集成mybatis,配置多个数据源并自动切换. spring-mybatis.xml如下: <?xml version="1.0" encoding=" ...

  10. 寄存器CPU存储地址信息和数据信息的地方 CPU通过地址寄存器区分指令和数据