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

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

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

XML/HTML代码
  1. <system.net>
  2. </system.net>

如下:设置stmp邮件发送的配置

XML/HTML代码
  1. //父元素:configuration(提供所有名称空间的配置)
  2. <system.net>
  3. //这里还可以加入如下元素的设置
  4. //authenticationModules:设置用来验证WEB请求的模块
  5. //connectionManagement:设置WEB服务器最大连接数
  6. //defaultProxy:设置http的代理服务器
  7. //mailSettings:配置smtp
  8. //requestCaching:控制网络请求缓存机制
  9. //settings:为System.NET配置基本网络选项
  10. //<webRequestModules>元素(网络设置):指定模块从WEB服务器请求信息。
  11. <mailSettings>
  12. //deliveryMethod设置邮件发送方式,这里是网络形式
  13. <smtp deliveryMethod="Network" from="xxx@yyy.com" >
  14. //host邮件发送服务器
  15. //userName发送邮件时,用来进行身份验证的用户名
  16. //password如下验证时的密码
  17. <network host="smtp.yyy.com" userName="xxx@yyy.com" password="zzzzzzz" />
  18. </smtp>
  19. </mailSettings>
  20. </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#代码
  1. //NetSectionGroup在上面已经介绍过了
  2. //GetSectionGroup从指定的配置文件获取system.net的配置
  3. //WebConfigurationManager.OpenWebConfiguration
  4. //打开应用程序根目录下的web.config生成System.Configuration.Configuration对象实例
  5. SmtpSection cfg = NetSectionGroup.GetSectionGroup(WebConfigurationManager.OpenWebConfiguration("~/web.config")).MailSettings.Smtp;

发送电子邮件

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

asp.net配置web.config发电子邮件详解相关推荐

  1. iis配置web服务器_web服务器配置详解

    web服务器配置:在web服务器上建立网站,然后设置好参数. 建立网站具体步骤: 1.首先我们应该在Web服务器配置前把iis安装好: 2.安装好了iis以后,就在iis中创建web网站,我们在控制面 ...

  2. 认识ASP.NET配置文件Web.config

      认识ASP.NET配置文件Web.config Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序 ...

  3. 配置Web.config文件显示错误信息

    1. 程序发布到IIS,打开页面报错很笼统,没有显示详细的错误信息 2. 配置Web.config如下,发现还是没有显示详细信息 <configuration><system.web ...

  4. asp.net文本编辑器FCKeditor使用方法详解 - 橙色大地 - 博客园

    asp.net文本编辑器FCKeditor使用方法详解 效果图: 那么为什么说是FCKeditor的冰冷之心呢?这不是哗众取宠,主要是说它使用起来有点麻烦,下文就详细说明如何搞定这玩意儿. 1.FCK ...

  5. 攻防世界web进阶区Web_python_block_chain详解

    攻防世界web进阶区Web_python_block_chain详解 题目 详解 51% 双花攻击 题目 详解 我们整理一下 Announcement: The server has been res ...

  6. java web编码详解_java web 开发 编码问题详解

    java web 开发 编码问题详解 浏览器 IE/FireFox ------------->Servlet容器-------------------------->显示页面 编码   ...

  7. window 程序报错 自动重启_好程序员web前端教程之详解JavaScript严格模式

    好程序员web前端教程之详解JavaScript严格模式,严格模式(Strict mode)是由ECMA-262规范定义的新兴JavaScript标准,发布于2009年12月第五版.旨在改善错误检查功 ...

  8. ASP.NET Core 中间件(Middleware)详解

    ASP.NET Core 中间件(Middleware)详解 原文:ASP.NET Core 中间件(Middleware)详解 本文为官方文档译文,官方文档现已非机器翻译 https://docs. ...

  9. python发邮件详解 -- smtplib和email模块

    文章目录 python发邮件详解,-->smtplib和email模块 1.python发邮件所需要的基础包 2.smtplib的用法 3.email模块的详细理解和使用 A.MIMEText对 ...

  10. 攻防世界web进阶区Web_php_wrong_nginx_config详解

    攻防世界web进阶区Web_php_wrong_nginx_config详解 题目 详解 题目 打开发现无论我们输入什么他都会弹出网站建设不完全 那么我们使用御剑进行扫描,扫描到了admin和robo ...

最新文章

  1. 手把手教你如何扩展GridView之自带CheckBox
  2. python怎么重启内核_解决jupyter运行pyqt代码内核重启的问题
  3. IOS NSPredicate 查询、搜索
  4. 【FFmpeg】FFmpeg 相关术语简介 二
  5. Windows上安装Mysql解压缩版教程
  6. windows7 下vmware workstation 12安装Ubuntu16.04虚拟机及安装和共享文件夹
  7. [一个经典的多线程同步问题]解决方案一:关键段CS
  8. hive表移到mysql_如何将Hive数据表移动到MySql?
  9. 人脸对齐(十一)--PIFA2015
  10. html和body高度不一致,即使html和body都是容器流体的高度不是100%
  11. keycloak授权流程详解
  12. 开源语音Speex丨Windows环境配置和测试(一)
  13. Toshiba e-STUDIO5616AC 一体机驱动
  14. 你真的了解SEO搜索引擎优化吗?
  15. [Unity]Mesh Baker3.1.0使用教程
  16. 哈曼推出Savari MECWAVE:超低时延边缘计算平台提供交钥匙式互联服务
  17. Unity3d开发MOBA游戏类《王者荣耀》记录(一)
  18. 【Shell】Shell 脚本自动输入密码的三种方式
  19. 计算机网页设计实习报告怎么写,网页设计实习报告.docx
  20. 关于 Flash Builder

热门文章

  1. 新版edge浏览器没有internet选项怎么办?
  2. International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (ECPC 2018)
  3. 树莓派4B系统搭建(超详细版)
  4. 各代iphone尺寸_iPhone12大小尺寸是多少?四款iPhone12系列尺寸对比长宽高
  5. 新能源汽车控制技术分享:VCU整车控制器电控开发
  6. 找回HDFS corrupted文件残留数据
  7. java九宫格代码_Java实现九宫格的简单实例
  8. 矢量组合图标文件格式设计
  9. 单位计算机ping网关不通,电脑ping不通自己的网关有什么原因(解决ping不通网关的原因)...
  10. 最强大脑就是让你记得住--史上最高效的270个记忆法