System.Net.Mail是微软自家提供的工具,在.net程序中可以使用该空间中的SmtpClient实例来实现邮件的发送。

使用System.Net.Mail空间与Web.config配置相配合,可以很方便的实现邮件发送。

 

首先,在Web.config文件中<system.net>节点中加入<mailSettings>标签,示例如下:

<system.net>

    <mailSettings>

      <smtp from="测试者&lt;tester@testserver.com&gt;">

        <network host="smtp.ym.163.com" password="MyTestPassword" port="25"

            userName="tester@testserver.com" enableSsl="false" defaultCredentials="false" />

      </smtp>

    </mailSettings>

</system.net>

 

接下来便是C#代码:(需要using System.Net.Mail;)

/// <summary>

/// 发送HTML邮件,有抄送和密送

/// 需要在Web.config文件中的system.net下的mailSettings节点进行配置

/// </summary>

/// <param name="mailto">收件人地址</param>

/// <param name="mailcc">抄送地址</param>

/// <param name="mailbcc">密送地址</param>

/// <param name="mailsubject">邮件主题</param>

/// <param name="mailbody">邮件正文</param>

public static void SendMail(string mailto, string mailcc, string mailbcc, string mailsubject, string mailbody)

{

    MailMessage mMessage = new MailMessage();

    MailAddress mTo = new MailAddress(mailto);

    if (mailcc != "") { MailAddress mCC = new MailAddress(mailcc); mMessage.CC.Add(mCC); }

    if (mailbcc != "") { MailAddress mBCC = new MailAddress(mailbcc); mMessage.Bcc.Add(mBCC); }

    mMessage.To.Add(mTo);

    mMessage.Subject = mailsubject;

    //正文和主题的字符编码都设置为UTF8

    mMessage.SubjectEncoding = System.Text.Encoding.UTF8;

    mMessage.BodyEncoding = System.Text.Encoding.UTF8;

    mMessage.Body = mailbody;

    //正文支持html

    mMessage.IsBodyHtml = true;

    SmtpClient client = new SmtpClient();

    client.Send(mMessage);

}

 

再接下来就可以在程序任意位置调用SendMail方法来实现发送邮件了:

SendMail("272023290@qq.com", "", "", "测试20140418-2", "<h1>你好,这是第二封测试邮件</h1>");

 

如果程序所使用的SMTP服务器不作特殊限制的话,你的收件箱就可以正常收到这封测试邮件了。

同时,由于我们在Web.config中设置的是“邮件测试者&lt;tester@testserver.com&gt;”,所以收到的邮件的发件人将会是“邮件测试者”。

本文结束。

在.net程序中使用System.Net.Mail来发送邮件的更多相关文章

  1. C#中使用System.Web.Mail.MailMessage类无法CC多人的问题

    从.NET 2.0 开始,引入了一个新的类,System.Net.Mail.MailMessage.该类用来取代 .NET 1.1 时代System.Web.Mail.MailMessage类.Sys ...

  2. SUID或SGID程序中能不能用system函数

    system()函数的声明和说明如下: 注意它的描述那里,system()执行一个由command参数定义的命令,通过调用/bin/sh -c命令来实现这个功能.也就是说它的逻辑是这样的! 进程调用s ...

  3. linux C程序中获取shell脚本输出(如获取system命令输出)

    转载自 http://blog.csdn.net/hjxhjh/article/details/7909518 1. 前言 Unix 界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些 ...

  4. linux c程序中获取shell脚本输出的实现方法

    linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...

  5. System.net.mail 腾讯ssl发送邮件超时

    我采用了.net 的自带组件 System.Web.Mail.MailMessage发送邮件,主要是在客户注册网站成功的时候发条欢迎邮件,最近邮件无法发送了,看了下腾讯smtp邮件配置,所有的邮件发送 ...

  6. java中的system.out.println()和JSP中out.println()差别

    out.println()输出到client.     在out.println()中,out是response的实例.是以response为对象进行流输出的,即将内容输出到client.假设在JSP ...

  7. 使用System.Net.Mail中的SMTP发送邮件(带附件)

    System.Net.Mail 使用简单邮件传输协议SMTP异步发送邮件 想要实现SMTP发送邮件,你需要了解这些类 SmtpClient :使用配置文件设置来初始化 SmtpClient类的新实例. ...

  8. 发现用System.Net.Mail发邮件(代码附后),附件稍微大一点就会造成程序假死. 有没有什么简单的解决办法呢? 多谢!!

    附件大,上传,发送一定会慢.程序卡,应该是主线程正在发送,邮件造成的.创建其他线程在后台去发.这样就不影响主线程做其他工作了   using System; using System.Collecti ...

  9. MOSS程序中如何发Mail?

    我们使用.NET类库中的API发Mail的时候,我们要配置他的SMTP Server等,但是在Sharepoint里,已经提供了相关的封装的方法: SPUtility.SendEmail(SPWeb, ...

随机推荐

  1. 递归遍历XML节点属性和属性值

    public static XmlDocument FileMergedIntoXML(string strXmlPathPublic) { string strXmlPathPublic = str ...

  2. HTML5-新API-geolocation-实例-距离跟踪器

    <body onLoad="loadDemo()"> <header> <h1>oldmeter演示</h1> <h4> ...

  3. js控制div颜色

    <html><head></head><style>#div1{width:400px;height:400px;background-color:re ...

  4. Android IOS WebRTC 音视频开发总结(三一)-- 自定义传输实现一对多

    本文主要介绍基于Webrtc的多人视频会议的简单实现,文章来自博客园RTC.Blacker,支持原创,转载请说明出处. 前面提到基于开源框架的视频会议都存在诸多问题,所以我们通过重写WEBRTC传输模 ...

  5. Android IOS WebRTC 音视频开发总结(十四)-- sip和xmpp异同

    这篇文章主要介绍XMPP与SIP,很多人容易混淆这两个概念,转载请说明出处(博客园RTC.Blacker). 简介:XMPP和SIP都是应用层协议,主要用于互联网上发送语音和即时通讯. SIP在RFC ...

  6. 一步一图:从SQLSERVER2005中导出insert语句

    1.为什么要导出insert语句,我电脑装的是SQL Server Express免费版的,服务器上装的是正式版,在服务器上备份的数据库文件在本机上还原的时候 因为版本不一样,总是不成功.如果能直接使 ...

  7. javaSE第七天

    第七天    36 1. 成员变量和局部变量的区别(理解)    36 (1)在类中的位置不同    36 (2)在内存中的位置不同    36 (3)生命周期不同    36 (4)初始化值不同   ...

  8. 【风马一族_php】PHP与Mysql建立连接

    让php发出 Hi作为基础 http://www.cnblogs.com/sows/p/5990157.html 配置apache      ../apache/conf/httpd.conf 创建p ...

  9. 移植u-boot-1.1.6(原创)

    #u-boot:u-boot-1.1.6#server:ubuntu 12.04#gcc: arm-linux-gcc -4.3.2# 一.建立单板1> /board/smdk2410 : cp ...

  10. ASPX页面包含inc文件、用户控件、普通html文件

    如果你是从asp程序员转过来一定不习惯.net的编程风格吧,代码和页面时分离的,asp和php里面时常是引入, 比如<!--#include File="xxxxxxx"-- ...