如何从ASP.NET 2.0中发送电子邮件

开发 后端
本文介绍如何从ASP.NET 2.0中发送电子邮件,以及探讨System.Net.Mail 命名空间中的相关类。

如今,电子邮件已经成为一种无所不在、异步通知和分布式的消息系统。存在许多web开发场所;其中,服务器端代码都需要生成一个电子邮件并且把它发送给指定的接收者。该电子邮件可以被发送给网点中的一些用户,通知他们有关于他们的新建用户帐户,提醒他们忘记的口令,或以邮件形式提交给他们一个清单。当然,这也可以是针对web开发者或站点管理员,提供给他们有关一个刚刚公开的未处理的异常或用户回馈的消息。

幸好,ASP.NET使得发送电子邮件非常轻松。.NET框架版本1.x在System.Web.Mail类中包括了许多类,它们允许以编程方式通过短短的几行代码来发送电子邮件。尽管这个命名空间和这些类仍然存在于ASP.NET 2.0版本中,但是它们已经过时,你可以在 System.Net.Mail命名空间中找到新的与邮件支持相关的类。

在本文中,让我们来一起探讨System.Net.Mail 命名空间中的相关类,并且分析如何从一个ASP.NET 2.0页面的code-behind类中发送电子邮件。我们还要在Web.config中指定中继服务器消息以及如何把这个消息应用于一些内置ASP.NET服务器控件中以便实现发送电子邮件(例如当一个用户创建一个帐户或需要一个口令提示器/重置器时)。

1.探讨System.Net.Mail命名空间中的类

在System.Net.Mail命名空间中共有16个不同的类,它们都与把电子邮件发送到一个指定的简单的邮件传输协议(SMTP)服务器以便进一步提交有关。在这个命名空间中有两个核心类是:
◆MailMessage:描述一个电子邮件消息;它拥有From,To,Subject,Body等属性;
◆SmtpClient:把一个指定的MailMessage实例发送到一个指定的SMTP服务器。

典型地,当你从一个ASP.NET 2.0页面中发送电子邮件时,你要:

(1)创建一个MailMessage对象;

(2)赋给它属性;

(3)创建一个SmtpClient类实例;

(4)指定关于使用该SMTP服务器的细节(如果它们没有在Web.config中指定);

(5)经由SmtpClient对象的Send方法发送该MailMessage。

其中,上面的第1步和第2步可以被略过,因为SmtpClient类的Send方法能够接收一个MailMessage对象或接收四个字符串(分别描述电子邮件消息内容的from,to,subject和body部分)。

System.Net.Mail命名空间中的其它类还提供了更高级的电子邮件功能。例如,这些类能够用于在一个电子邮件消息中添加附件,把对象嵌入到一个电子邮件,指定SMTP服务器认证消息等;还有一些Exception的派生类用于处理SMTP特定的异常。我们会在以后的文章中来讨论这些其它类的更高级的使用情形。

【编辑推荐】

  1. ASP.NET中的HttpWorkerRequest对像
  2. 详解四个ASP.NET状态
  3. ASP.NET AJAX中ScriptManager控件
  4. SuperPreview会调用ASP.NET或者PHP来渲染网页
  5. ASP.NET中的ScriptManager控件
责任编辑:佚名 来源: 清华大学出版社
相关推荐

2020-02-26 13:47:57

Emacs电子邮件开源

2023-12-31 16:29:31

GoGoroutinesChannels

2020-05-13 08:48:16

JavaScript前端技术

2009-02-05 14:02:46

SmtpMail发送邮件ASP.NET

2022-01-05 10:16:12

微软Exchange恶意软件

2021-03-06 13:31:52

网络钓鱼恶意邮件攻击

2011-10-31 09:35:50

2009-07-23 16:28:20

URL映射ASP.NET 2.0

2009-07-22 17:28:07

CSS文件ASP.NET 2.0

2019-08-14 14:55:07

PostfixFedora电子邮件

2009-07-22 17:23:03

XmlDataSourASP.NET 2.0

2009-07-20 15:48:10

OWC组件ASP.NET 2.0

2009-07-27 15:58:25

添加GridView

2009-07-21 11:14:19

max-age设置ASP.NET 2.0

2009-07-30 15:17:16

ASP.NET 2.0

2009-07-21 15:55:59

使用Web PartsASP.NET 2.0

2010-09-17 14:11:18

2009-01-07 11:38:22

ASP.NET.NET错误记录

2009-12-14 17:50:45

ASP.NET 2.0

2009-07-22 17:21:27

ASP.NET 2.0
点赞
收藏

51CTO技术栈公众号