.net发送电子邮件

简介:

这篇文章主要讲叙了,如何通过配置文件(web.config)实现邮件发送的相关配置,以及如何根据配置发送电子邮件。

适用的框架:asp.net framework 2.0/.net framework3.0/.net framework3.5

在web.config里设置.net framework的网络连接

XML/HTML代码
<system.net>
< /system.net>
如下:设置stmp邮件发送的配置

XML/HTML代码
//父元素:configuration(提供所有名称空间的配置)
<system.net>
//这里还可以加入如下元素的设置
//authenticationModules:设置用来验证WEB请求的模块
//connectionManagement:设置WEB服务器最大连接数
//defaultProxy:设置http的代理服务器
//mailSettings:配置smtp
//requestCaching:控制网络请求缓存机制
//settings:为System.NET配置基本网络选项
//<webRequestModules>元素(网络设置):指定模块从WEB服务器请求信息。
<mailSettings>
//deliveryMethod设置邮件发送方式,这里是网络形式
<smtp deliveryMethod="Network" from="xxx@yyy.com" >
//host邮件发送服务器
//userName发送邮件时,用来进行身份验证的用户名
//password如下验证时的密码
<network host="smtp.yyy.com" userName="xxx@yyy.com" password="zzzzzzz" />
</smtp>
</mailSettings>
< /system.net>

以编程的方式获取web.config里的smtp配置

NetSectionGroup类

命名空间
System.Net.Configuration:为应用程序提供了以编程方式访问和更新配置文件System.Net命名空间下的设置的类。
程序集
System

定义:
public sealed class NetSectionGroup : ConfigurationSectionGroup

说明:
这个类提供了以程序方式访问存储在配置文件里的信息。
这个类和网络设置文档里的system.net元素(网络设置)相对应。
这部分的为下列名称空间提供配置设置:
System.Net
System.Net.Cache
System.Net.Mail

在程序里读取configuration/system.net/mailSettings/stmp配置

C#代码
//NetSectionGroup在上面已经介绍过了
//GetSectionGroup从指定的配置文件获取system.net的配置
//WebConfigurationManager.OpenWebConfiguration
//打开应用程序根目录下的web.config生成System.Configuration.Configuration对象实例
SmtpSection cfg = NetSectionGroup.GetSectionGroup(WebConfigurationManager.OpenWebConfiguration("~/web.config")).MailSettings.Smtp;

发送电子邮件

C#代码
try{
//实例化一个邮件消息对象
MailMessage email = new MailMessage(cfg.From, mailto);
email.IsBodyHtml = true;
email.Body = "要发送的邮件内容,上面已经设置可以支持html内容,例外还可以通过指定email.BodyEncoding属性设置邮件内容的编码";
email.Subject = "邮件主题,通过指定email.SubjectEncoding属性设置邮件主题的编码";
//实例化smtp客服端对象,用来发送电子邮件
System.Net.Mail.SmtpClient stmp = new SmtpClient(cfg.Network.Host);
//设置是否需要发送是否需要身份验证,如果不需要下面的credentials是不需要的
stmp.UseDefaultCredentials = true;
stmp.Credentials = new System.Net.NetworkCredential(cfg.Network.UserName, cfg.Network.Password);
//发送邮件
stmp.Send(email);
}
catch (Exception ex)
{




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2007/09/04/881564.html,如需转载请自行联系原作者

  

相关文章
|
数据安全/隐私保护
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
41 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
99 5
|
3月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
25 0
|
3月前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
124 0
|
8月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
116 0
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
113 0
|
9月前
|
SQL 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(开篇)
[回馈]ASP.NET Core MVC开发实战之商城系统(开篇)
144 0