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. php get传递数据

    url:?goods[]=924&goods[]=967&goods[]=993 <?php  if($_GET){            print_r($_GET);  } ...

  2. Android SharedPreferences 见解

    今天突然遇到了SharedPreferences问题,虽然以前用过,但从没有深入的了解一下,今天就顺便深入了解一下,并总结一下,防止以后忘记. SharePreferences是Android平台上一 ...

  3. ios frame bounds applicationframe

    ios里面的[uiscreen mainscreen]获得的frame是应用的frame大小,不包含status bar,所以高度会少20,但是self.view的frame就是表示整个可视的窗口的大 ...

  4. C#基础知识点

    一.方法(结构.数组.冒泡排序.3个参数重载) 1将string转换为int类型 Convert.ToInt32(); int.Parse() ; int.TryParse()三种方式. 2 结构:可 ...

  5. 【Qt 】QSettings写ini配置文件

    QSettings写ini配置文件(Qt版本5.2): #include "inidemo.h" #include <QSettings> #include <Q ...

  6. PDM文件编辑

    需要把Oracle中的表,导出到已有的PDM文件中. 1.Oracle导出表脚本 1) 2) 3) 2.PowerDesigner导入脚本 1) 2) 3) 4)

  7. SQL笔记-第一章,数据库入门

    DBMS的分类DB2.Oracle.Microsoft SQL Server.Sybase SQLServer.Informix.MySQL数据库的结构元素库 database表 table列 col ...

  8. Aspose.cell.dll的使用,导excel表

    using System; using System.Web; using EF; using Newtonsoft.Json; using System.Collections.Generic; u ...

  9. HTML 5 Canvas

    HTML 5 Canvas   HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. <canvas id="myCanvas" width=&q ...

  10. WindowsApi 解压缩文件

    .解压方法 转载自http://www.2cto.com/kf/201204/128704.html "C#解压.zip文件,网上一搜一大堆方法,有使用System.IO.Compressi ...