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 = "[email protected]"; //登陆用户名
        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:

实例下载

时间: 2024-10-12 11:24:02

ASP.NET发送电子邮件(转)的相关文章

ASP.NET发送电子邮件

1.补充知识 (1)POP3和SMTP服务器是什么? 简单点来说:POP3 用于接收电子邮件 ,SMTP 用于发送电子邮件. (1)POP3具体指什么? POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议.它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协

ASP.NET 发送电子邮件简介

1.补充知识 (1)POP3和SMTP服务器是什么? 简单点来说:POP3 用于接收电子邮件 ,SMTP 用于发送电子邮件. (1)POP3具体指什么? POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议.它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协

asp.net webform 发送电子邮件

<div> <h2> 发送电子邮件演示 </h2> <table cellpadding="0" cellspacing="0" border="0" style="font-family: 宋体, Arial, Helvetica, sans-serif; font-size: 15px; width: 411px;"> <tr> <td class=&quo

C#发送电子邮件 (异步) z

///验证电子邮件的正则表达式 string emailStr = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; /// <summary> /// 异步发送电子邮件 /// </summary> /// <param name="fromEmail">发送方电子邮件&

JAVA实现发送电子邮件

相信大家对于网站也好,手机app也好,用户注册时,需要进行邮箱验证的功能特别好奇吧,本篇我将带领大家一起实现一下这个简单而又神奇的小功能,让我们的应用也可以加入这些神奇的元素.废话不多说,下面开始我们今天的内容介绍. 首先实现上面的功能,需要一个固定的发送电子邮件的邮箱地址,这里我们就以我们经常使用的QQ邮箱为例实现一下这个功能. 第一件事,你需要开启QQ邮箱的IMAP/SMAP服务: 登录QQ邮箱-->设置-->账号-->开启IMAP/SMAP与P0P3/SMAP 开启这两个时,你会获

javamail模拟邮箱功能发送电子邮件-中级实战篇【新增附件发送方法】(javamail API电子邮件实例)

引言: 此篇是紧随上篇文章而封装出来的,阅读本篇章建议先阅读上一篇  --> javamail模拟邮箱功能发送电子邮件-基础实战篇 上一篇章简单讲解了javamail发送邮件的基本基础和用到的几个类,并且所有初始化和发送方法都封装在一个类里面(为了代码方便演示),本章节将对各个模块进行拆分和优化,并且引入附件发送的方法 要想邮件发送附件,就要引入两个新类  Multipart 和 BodyPart 两类 Multipart(报文部件容器) 实则为一个报文容器,而邮件消息  Msage 是由各个子

发送电子邮件模块smtplib

功能:smtplib模块是通过邮件服务器发送电子邮件,是smtp客户端的实现,支持邮件格式有:文本.HTML.Image.EXCEL等. 1 #!/usr/bin/env python 2 # coding:UTF-8 3 import smtplib 4 import string 5 host = "smtp.qq.com" #定义smtp主机 6 subject = "Test email from Python" #定义邮件主题 7 to_mail = &q

利用Excel批量高速发送电子邮件

利用Excel批量高速发送电子邮件,分两步: 1. 准备待发送的数据: a.) 打开Excel,新建Book1.xlsx b.) 填入以下的内容, 第一列:接收人,第二列:邮件标题,第三列:正文,第四列:附件路径 注意:附件路径中能够有中文,可是不能有空格 这里你能够写很多其它内容,每一行作为一封邮件发出. 注意:邮件正文是黑白文本内容,不支持加粗.字体颜色等.(假设你须要支持彩色的邮件,后面将会给出解决的方法) 2. 编写宏发送邮件 a.) Alt + F11 打开宏编辑器,菜单中选:插入->

javamail 在linux下发送电子邮件出错

javamail  在linux下发送电子邮件出错:javax.mail.MessagingException: 500 Error: bad syntax 解决办法: 首先在Linux命令行中查看hostname[[email protected] ~]# hostnamelinux在/etc/hosts中添加一行127.0.0.1  linux 再用下列命令查看,出来结果即正确[[email protected] ~]# hostname -i127.0.0.1