转自:http://www.cnblogs.com/hunanboy/archive/2006/09/25/514073.html

因为系统发邮件的老不稳定,所以需要把以前的代码升级一下,打开以前代码发现用的是1.1

版本的SmtpMail,系统开发用的是2005,MSDN上面则说明SmtpMail已经过时,而且通过资料和实

践也表明SmtpMail容易丢失邮件。原因就是这个类只能单线程同步操作。
   2005里新引进SmtpClient类,属于System.Net.Mail命名空间下,2003里邮件操作类都是在

System.Web和System.Web.Mail里,而2005全部引入到了System.Net和System.Net.Mail命名空间

里了。

由于大部分属性和方法的说明在MSDN上都可以找到,也有现成的例子,所以我在这里不做过多的赘述。在这里只通过一个最简单的例子讨论一下最基本的属性和方法。
   MSDN上写到,要使用SmtpClient进行邮件操作,需要指定MailMessage的From,To,Subject,Body等基本属性.
   From:通俗点说法就是发邮件的
   To:通俗点说就是发给谁
   Subject:指邮件主题
   Body:邮件内容
SmtpClient通过邮件服务器进行邮件操作肯定要牵涉到邮件服务器的端口,服务器,验证等操作,在此我推荐我认为在2005最简单和方便的操作方式,在2005里的配置文件里新加入了一些节点
我们的SmtpClient的这些服务器属性就可以通过以下形式而指定

  <system.net>
    <mailSettings>
      <smtp>
        <network host="smtp.***.cn" port="25" userName="liuronghua" password="test"/>
      </smtp>
    </mailSettings>
  </system.net>

host :邮件服务器地址
port:端口
userName:用户
password:密码

如此指定之后,在SmtpClient的Send方法里就会自动去匹配这些属性了。非常方便。
好,指定好这一步了,咱们的邮件发送就变的too Simple了。
请看以下代码

 1public bool sendMail()
 2{
 3   //建立邮件信息,直接写入构造函数,依次为From,To,Subject,Body
 4   MailMessage message = new MailMessage("liuronghua@test.cn",
 5           "tansheng719@163.com",        
 6           "测试邮件",
 7           "测试邮件,测试邮件");
 8   SmtpClient client = new SmtpClient();
 9   client.Send(message);
10}

三行代码,就搞定邮件发送,是不是非常简单?呵呵。另外SmtpClient的一些其他的用法如发送附件、异步调用在此就不说了。因为这是最基本的说明文章,有兴趣学习的朋友可以去查阅MSDN。

依照此例写一个方法用于发送

public static void SendMail(string strSmtpServer, string UserName, string Password, string strFrom, string strTo, string strSubject, string strBody, string strFileName)
        {
            //生成一个   使用SMTP发送邮件的客户端对象 
            System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(strSmtpServer);

//表示以当前登录用户的默认凭据进行身份验证,不写依然能发送
            //client.UseDefaultCredentials = true;

//包含用户名和密码 
            client.Credentials = new System.Net.NetworkCredential(UserName, Password);

//指定如何发送电子邮件。 
            //Network                                             电子邮件通过网络发送到   SMTP   服务器。     
            //PickupDirectoryFromIis               将电子邮件复制到挑选目录,然后通过本地   Internet   信息服务   (IIS)   传送。     
            //SpecifiedPickupDirectory           将电子邮件复制到   SmtpClient.PickupDirectoryLocation   属性指定的目录,然后由外部应用程序传送。

client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

//建立邮件对象   
            System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strTo, strSubject, strBody);

//定义邮件正文,主题的编码方式 
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.SubjectEncoding = System.Text.Encoding.UTF8;

//获取或设置一个值,该值指示电子邮件正文是否为   HTML。   
            message.IsBodyHtml = true;            
           
            //指定邮件优先级

message.Priority = System.Net.Mail.MailPriority.Normal;

//添加附件 
            //System.Web.Mail.MailAttachment   mailAttachment=new   System.Web.Mail.MailAttachment(@ "f:/baihe.txt ");   
            if (strFileName != " " && strFileName != null)
            {
                Attachment data = new Attachment(strFileName);
                message.Attachments.Add(data);
            }

//发件人身份验证,否则163   发不了 
            client.Credentials = new System.Net.NetworkCredential(strFrom, Password);

//发送 
            client.Send(message);
        }

转载于:https://www.cnblogs.com/millen/archive/2011/03/09/1978559.html

asp.net 调用SmtpClient发送邮件(转)相关推荐

  1. php使用NuSoap产生webservice结合WSDL让asp.net调用

    <?php require_once("nusoap-0.9.5/lib/nusoap.php"); //定义服务程序 function Add($a,$b) { retur ...

  2. asp.net调用opencv类库,实现图像处理显示

    asp.net调用opencv类库,实现图像处理显示 ​      原理上来说,通过dll的调用,无论是asp.net还是winform都可以调用opencv及其类库.但是在实现的过程还是有许多细节是 ...

  3. asp.net调用js方法小结

    asp.net调用js方法小结 key:asp.net js方法互调   asp.net 前台如何调用后台方法 1. javaScript函数中执行C#代码中的函数: 方法一:1.首先建立一个按钮,在 ...

  4. asp.net 调用(引用 Native dll 的)C++/CLI dll 的问题及解决

    asp.net 调用引用 native dll 的 C++/CLI dll 会报错:说是dll或其依赖项找不到.具体原因在于 IIS 只会从系统路径下去查找 native dll,不会查找 Bin 目 ...

  5. C#使用SmtpClient发送邮件解决授权码配置问题

    C#使用SmtpClient发送邮件解决授权码配置问题 参考文章: (1)C#使用SmtpClient发送邮件解决授权码配置问题 (2)https://www.cnblogs.com/xtjatswc ...

  6. php调用发邮件,PHP调用Mailgun发送邮件的方法

    总结PHP 调用Mailgun发送邮件的方法,供大家参考,具体内容如下 1.Mailgun是依赖composer工具,因此在使用之前需要先确认已经安装了composer.如何安装composer,非常 ...

  7. Imail 邮件服务器的SMTP配置与 .NET 下使用 System.Net.SmtpClient 发送邮件

    前言 目前,各大门户均已推出了各自的邮件服务系统,且功能日益强大,如腾讯QMail:然而,作为一家公司的官方邮件,相信邮件地址里使用本公司的域名更具信服力(例如 c.com 以邮件使用 service ...

  8. ASP程序调用验证码

    调用方法<img src="getcode.asp"><input name="vcode" type="input"&g ...

  9. C#调用Outlook2003发送邮件时,避免弹出安全确认对话框的方法

    C#使用如下代码调用Outlook2003发送邮件: 1 // Create the Outlook application.2 Outlook.Application oApp = new Outl ...

最新文章

  1. CYQ.Data 轻量数据层之路 使用篇-辅助工具枚举生成器 视频 C (二十)
  2. python thrift demo
  3. wpf treeView,避免横向滚动条自动偏移。 ContentHorizontalOffset
  4. stl-vector
  5. JavaScript实现Floyd-Warshall算法(附完整源码)
  6. HDU - 1584 蜘蛛牌(dfs+最优性剪枝)
  7. 传送门(最短路树+可并堆)
  8. Git笔记(22) 项目贡献要点
  9. 泰科推标签即服务服务,助力实现最大价值
  10. 《通信原理》樊昌信、《移动通信》——知识点总结
  11. mysql 字符串拼接 null_mysql字符串拼接并设置null值的实例方法
  12. PX4Flow使用操作
  13. 如何把晨光计算机调成音乐模式,伴着晨光走向你——广播《晨光音乐行》栏目运作心得...
  14. 二叉树相关题(Java实现)
  15. 2022中国老博会/老龄用品展/智慧养老展/北京老年产业展
  16. 如何让DIV中的内容左边的靠左对齐,右边的靠右对齐?
  17. k8s 二进制集群部署
  18. Solidity学习笔记
  19. 在windows11环境下如何通过主机名ping通其它系统
  20. 思岚科技通用机器人底盘ZEUS将亮相2019 CES

热门文章

  1. webpack文件夹打包_webpack多入口文件页面打包详解
  2. Python中的图灵机器人
  3. linux如何看java安装路径,linux查看java的安装路径
  4. Textual Description for Visualization
  5. 大连市打造数字人民币应用示范村
  6. NFT交易平台Mintable首个提案通过 收入将按比例分配给MINT代币持有者
  7. 雄安新区区块链底层系统(1.0)今日正式发布
  8. 数据:DeFi总锁定价值突破170亿美元
  9. SAP License:全球十大主流ERP厂商,看看你是不是在用
  10. SAP License:第三只眼看经济-固定资产最佳折旧率的条件