ASP.NET发送电子邮件(转)
原始地址:http://www.cnblogs.com/ForEvErNoME/archive/2012/06/05/2529259.html(有代码下载,博主真是有操守)
1.补充知识
(1)POP3和SMTP服务器是什么?
简单点来说:POP3 用于接收电子邮件 ,SMTP 用于发送电子邮件。
(1)POP3具体指什么?
POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议是TCP/IP协议族中的一员,,由RFC 1939 定义
(2)SMTP具体是指什么?
SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
2.System.Net.Mail
使用ASP.NET发送电子邮件,需要引用System.Net.Mail命名空间。System.Net.Mail 命名空间包含用于将电子邮件发送到简单邮件传输协议 (SMTP) 服务器进行传送的类。
(1)命名空间下有三个比较主要的类:
MailMessage:提供属性和方法来创建一个邮件消息对象,即邮件内容。
Attachment:提供属性和方法来创建一个邮件附件对象,即邮件附件。
SmtpClient:将电子邮件传输到您指定用于邮件传送的 SMTP 主机。
(2)MailMessage类:
From:发送邮件的地址
To:接收邮件的地址
Subject:邮件的标题
Priority:邮件的优先级(分别为为High,Low,Normal)
Attachments:电子邮件的数据的附件集合
Bcc:密送地址
Cc:抄送地址
Body:邮件正文
SubjectEncoding:电子邮件的主题内容使用的编码
IsBodyHtml:邮件正文是否为 Html 格式的值
详细参考:MailMessage
(3)Attachment类:
详细参考:Attachment
(4)SmtpClient类:
DeliveryMethod:指定如何处理待发的电子邮件
Host:SMTP 事务的主机的名称或 IP 地址
Credentials:设置用于验证发件人身份的凭据
详细参考:SmtpClient
3.ASP.NET发送邮件两种方式
(1)通过邮件服务提供商的SMTP来发送邮件
首先需要注册对应服务提供商免费邮箱,因为你要使用邮件服务提供商的SMTP,他们需要对身份进行验证,这样可以避免产生大量的垃圾邮件。
有三个是重要的信息:SMTP服务器、用户名、密码。从网上收集了几个类,可以参考下。

- #region
- /// <summary>
- /// 发送邮件
- /// </summary>
- /// <param name="mailTo">要发送的邮箱</param>
- /// <param name="mailSubject">邮箱主题</param>
- /// <param name="mailContent">邮箱内容</param>
- /// <returns>返回发送邮箱的结果</returns>
- public static bool SendEmail(string mailTo,string mailSubject,string mailContent)
- {
- // 设置发送方的邮件信息,例如使用网易的smtp
- string smtpServer = "smtp.163.com"; //SMTP服务器
- string mailFrom = "XXX@163.com"; //登陆用户名
- string userPassword = "XXX";//登陆密码
- // 邮件服务设置
- SmtpClient smtpClient=new SmtpClient();
- smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
- smtpClient.Host = smtpServer; //指定SMTP服务器
- smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码
- // 发送邮件设置
- MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人
- mailMessage.Subject = mailSubject;//主题
- mailMessage.Body = mailContent;//内容
- mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
- mailMessage.IsBodyHtml = true;//设置为HTML格式
- mailMessage.Priority = MailPriority.Low;//优先级
- try
- {
- smtpClient.Send(mailMessage); // 发送邮件
- return true;
- }
- catch (SmtpException ex)
- {
- return false;
- }
- }

(2)利用本机的SMTP虚拟服务器的SMTP来发送邮件
需要进行SMTP配置,还是第一种简单实用。
4.参考资料:常用邮件服务器
gmail.com:
POP3服务器地址:pop.gmail.com
SMTP服务器地址:smtp.gmail.com
qq.com:
POP3服务器地址:pop.qq.com
SMTP服务器地址:smtp.qq.com
163.com:
POP3服务器地址:pop.163.com
SMTP服务器地址:smtp.163.com
sina.com:
POP3服务器地址:pop3.sina.com.cn
SMTP服务器地址:smtp.sina.com.cn
yahoo.com:
POP3服务器地址:pop.mail.yahoo.com
SMTP服务器地址:smtp.mail.yahoo.com
sohu.com:
POP3服务器地址:pop3.sohu.com
SMTP服务器地址:smtp.sohu.com
china.com:
POP3服务器地址:pop.china.com
SMTP服务器地址:smtp.china.com
21cn.com:
POP3服务器地址:pop.21cn.com
SMTP服务器地址:smtp.21cn.com sina.com:
ASP.NET发送电子邮件(转)的更多相关文章
- ASP.NET 发送电子邮件简介
1.补充知识 (1)POP3和SMTP服务器是什么? 简单点来说:POP3 用于接收电子邮件 ,SMTP 用于发送电子邮件. (1)POP3具体指什么? POP3(Post Office Protoc ...
- C# ASP.NET发送电子邮件System.Net.Mail
1.补充知识 (1)POP3和SMTP服务器是什么? 简单点来说:POP3 用于接收电子邮件 ,SMTP 用于发送电子邮件. (1)POP3具体指什么? POP3(Post Office Protoc ...
- ASP.NET发送电子邮件
代码: using System; using System.Collections.Generic; using System.Configuration; using System.Linq; u ...
- asp.net 发送电子邮件本地测试正常,但服务器上异常的解决办法
如题,这个问题曾经非常苦恼,代码肯定是没有问题的.在网上也查找了不少资料,按照他们的步骤做了,还是无效. 最后问题解决了,原来:我租用腾讯云服务器,腾讯为了防止垃圾邮件,禁止了邮件发送的25号端口,原 ...
- ASP.NET发送电子邮件源码示例
using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Mail; try { ...
- 在ASP.NET中发送电子邮件的实例教程
首先.导入命名空间: 代码如下 复制代码 using System.Net.Mail; 定义发送电子邮件的方法[网上很多不同的,可以对比着看一下,WinForm的也适用]: 代码如下 复制代码 /// ...
- asp.net发送E-mail
发送电子邮件也是项目开发当中经常用到的功能,这里我整理了一个发送电子邮件(带附件,支持多用户发送,主送.抄送)的类库,供大家参考. 先上两个实体类,用于封装成Mail对象. /// <summa ...
- JAVA实现发送电子邮件
相信大家对于网站也好,手机app也好,用户注册时,需要进行邮箱验证的功能特别好奇吧,本篇我将带领大家一起实现一下这个简单而又神奇的小功能,让我们的应用也可以加入这些神奇的元素.废话不多说,下面开始我们 ...
- WordPress ”无法发送电子邮件,可能原因:您的主机禁用了mail()函数“的解决办法
WordPress网站中出现 "无法发送电子邮件,可能原因:您的主机禁用了mail()函数"的情况一般都是因为所在主机环境不支持在线邮件收发功能导致,如果不支持的话,那么像类似 N ...
随机推荐
- 0基础学安卓--初识安卓Activity
知识储备:windows+ Android Studio 等环境安装. 安卓中Activity代表页的意思,也就是☞我们手机上当前的整个界面显示,点击按钮等操作可以跳转到另外一个Activity中. ...
- CentOS7.2中systemctl的使用
CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替. 1.原来的 service 命令与 s ...
- Android中EditText焦点问题
https://www.jianshu.com/p/3d31d681f4bc 问题:当EditText失去焦点时做内容校验 场景:用户编辑EditText将内容清空,当点击空白地方时关闭软键盘,同时校 ...
- An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling 2018-0 ...
- 【论文笔记】Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs 2018-01-17 21:41:57 [Introduction] 这篇 paper 是发表在 ...
- 【C#】委托中的匿名函数与lambda
将方法作为方法的参数 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使 ...
- Levenshtein Distance,判断字符串的相似性
private int LevenshteinDistance(string s1,string s2,int maxValue) { if (s1 == null|| s1.Length == 0) ...
- FB01与F-02的区别(转载)
FB01与F-02的区别(转载) FB01 : a) ''Post Document'' b) No doc type as SA automatically comes. c) No automat ...
- 解决Geoserver请求跨域的几种思路,第二种思路用过
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景描述 跨域问题是浏览器同源安全制引起的特别常见的问题.不同前端语 ...
- 【Python】【电子邮箱】
#[[电子邮件]]'''Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务. 几乎所有的编程语言都支持发送和接收电子邮件,但是,先等等,在我们开始编写代码之前,有必要 ...