net System.Web.Mail发送邮件

用System.Web.Mail发送邮件,适用于.net1.1。net2.0请用System.Net.Mail

先引用System.Web

1,发送简单邮件

[ C# ]

MailMessage mail = new MailMessage();

mail.To = "me@mycompany.com";

mail.From = "you@yourcompany.com";

mail.Subject = "this is a test email.";

mail.Body = "this is my test email body";

SmtpMail.SmtpServer = "localhost"; //your real server goes here

SmtpMail.Send( mail );

这里的smtpserver只能是那些不需要验证的smtp服务器,像126,sina,yahoo等等的邮箱,都需要验证,所以不能用。用这些邮箱发信后面会讲到

2,发送Html邮件

[ C# ]

MailMessage mail = new MailMessage();

mail.To = "me@mycompany.com";

mail.From = "you@yourcompany.com";

mail.Subject = "this is a test email.";

mail.BodyFormat = MailFormat.Html;

mail.Body = "this is my test email body.<br><b>this part is in bold</b>";

SmtpMail.SmtpServer = "localhost"; //your real server goes here

SmtpMail.Send( mail );

3,发送附件

[ C# ]

MailMessage mail = new MailMessage();

mail.To = "me@mycompany.com";

mail.From = "you@yourcompany.com";

mail.Subject = "this is a test email.";

mail.Body = "this is my test email body.";

MailAttachment attachment = new MailAttachment( Server.MapPath( "test.txt" ) ); //create the attachment

mail.Attachments.Add( attachment ); //add the attachment

SmtpMail.SmtpServer = "localhost"; //your real server goes here

SmtpMail.Send( mail );

4,修改发件人和收件人的名称

比如发件人的地址是abc@126.com,我们用outlook收到信,From一栏里将直接显示abc@126.com.

能不能在From一栏里显示友好一点的名字呢?

比如显示Tony Gong

方法如下:

[ C# ]

MailMessage mail = new MailMessage();

mail.To = "\"John\" <me@mycompany.com>";

mail.From = "\"Tony Gong\" <you@yourcompany.com>";

mail.Subject = "this is a test email.";

mail.Body = "this is my test email body.";

SmtpMail.SmtpServer = "localhost"; //your real server goes here

SmtpMail.Send( mail );

5,发送给多人

[ C# ]

MailMessage mail = new MailMessage();

mail.To = "me@mycompany.com;him@hiscompany.com;her@hercompany.com";

mail.From = "you@yourcompany.com";

mail.Subject = "this is a test email.";

mail.Body = "this is my test email body.";

SmtpMail.SmtpServer = "localhost"; //your real server goes here

SmtpMail.Send( mail );

6,用需要Smtp验证的邮箱发信

现在为了防止垃圾邮件,绝大部分Smtp服务器需要验证了

发信方法如下:

[ C# ]

MailMessage mail = new MailMessage();

mail.To = "me@mycompany.com";

mail.From = "abc@126.com";

mail.Subject = "this is a test email.";

mail.Body = "Some text goes here";

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc"); //set your username here

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your password"); //set your password here

SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here

SmtpMail.Send( mail );

7,修改smtp服务器的端口,以及使用SSL加密

大部分smtp服务器的端口是25,但有些却不是

同时,绝大部分Smtp服务器不需要SSL登陆,有些却需要

比如Gmail,smtp端口是:465,同时支持SSL

代码如下:

[ C# ]

MailMessage mail = new MailMessage();

mail.To = "me@mycompany.com";

mail.From = "abc@126.com";

mail.Subject = "this is a test email.";

mail.Body = "Some text goes here";

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc"); //set your username here

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your password"); //set your password here

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport",465);

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");

SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here

SmtpMail.Send( mail );

今天应客服部的要求,需要在给客户发送邮件的后,当客户阅读邮件的时候给发件人一个回执信息,好让我们知道客户已经收到邮件,并开始阅读了。这个功能在一般的qq邮箱或者其他的邮箱中设置都比较方便,只要勾选一下就可以了。但是我们是用的.net写的程序直接发送邮件,所以就只能修改代码了,谷歌了一圈,费了不少劲,不过还是在MSDN中找到了http://msdn2.microsoft.com/en-us/vbasic/bb630227.aspx ,应该算是比较权威的,虽然是英文的,不过借助于翻译工具还是可以理解的。

里边说的关键是这样设置
MyMailMessage.Headers.Add(“Disposition-Notification-To”, returnreceipt@return.com)

//后面的一个邮箱地址,就是要接受回执的邮箱了

测试以后,通过。OK。

顺便把网上的一些其他的方法也收集一下,有需要的也可以参考一下:

一、在.NET 1.1 环境下
1)使用System.Web.Mail方式,回执功能无法测试成功。
2)使用CDOsys.dll组件方式,只能实现“收到回执”,而“已读回执”失败。(cdosys.dll是内置在操作系统里面的,在system32目录下。具体的操作方法,参考http://blog.csdn.net/irvine007/archive/2006/02/22/606117.aspx资料)

二、在.NET 2.0情况下
使用2.0的System.Net.Mail,使用前面资料提到的方法,“已读回执”测试失败。但可以用mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;实现“收到回执”功能

最后解决方案,在一位熟悉notes服务器的同事指点下,
mail.Headers.Add(“ReturnReceipt”, “1″);
成功实现了“已读回执”。
随后在.NET 1.1 环境下测试,发现无效,只能在在.NET 2.0 环境下正常运行。

转载于:https://www.cnblogs.com/zhengguangITelite/archive/2012/02/23/2365109.html

.net System.Web.Mail发送邮件相关推荐

  1. .net System.Web.Mail发送邮件 (已过时)

    net System.Web.Mail发送邮件 用System.Web.Mail发送邮件,适用于.net1.1.net2.0请用System.Net.Mail 先引用System.Web 1,发送简单 ...

  2. 基于.NET2.0的System.Net.Mail发送邮件Demo

    第一种:         //emailaddress邮件接收者地址         //mailcontent邮件主体内容         //mailtitle邮件标题         //mai ...

  3. System.Web.mail ----虚拟发件人发送邮件

    转载别人的 使用SMTP发送邮件 说到邮件发送,先提一下SMTP. SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议.它是一组用于 ...

  4. C# 发送电子邮件(含附件)用到的类 system.web.mail

    主要是用到了System.Web.Mail命名空间,用到了此空间的三个类,分别是: ●MailMessage类,用于构造电子邮件 ●MailAttachment类,用于构造电子邮件附件 ●SmtpMa ...

  5. C#使用 System.Net.Mail发送邮件功能

    C#使用 System.Net.Mail发送邮件功能 .NET 里包含了很多很丰富的邮件发送与接受的API在 System.Net.Mail命名空间里,使得我们开发发送和接受邮件相关功能变得简单,下面 ...

  6. System.Net.Mail和System.Web.Mail

    System.Net.Mail是作为System.Web.Mail的替代来发送EMAIL. 1) System.Net.Mail <!--<br/ /><br/ />Co ...

  7. System.Web.Mail.SmtpMail

    System.Web.Mail.MailMessage message = new  System.Web.Mail.MailMessage();  // 定义邮件的发送地址  message.Fro ...

  8. 用System.Net.Mail发送邮件

    最近有不少朋友询问关于如何在.NET 2.0中发送邮件的问题,这里写一个简单的例子供朋友参考. MSDN参考(点击查看MSDN的中英文对照):             SmtpClient(http: ...

  9. C# System.Net.Mail 类 使用465端口邮件不成功

    C# System.Net.Mail 类不支持465端口发送邮件 今天遇到特别恼人的bug,用System.Net.Mail 类 异步发送 邮件老是报错(我之前用python配置阿里云邮件服务,可以发 ...

最新文章

  1. nginx安装第三方模块echo
  2. JS - Class继承
  3. 使用SVN钩子运行PHP更新服务器代码的注意事项
  4. 阿里巴巴消息中间件: Spring Cloud Stream
  5. 字符数组,字符串、数字转化
  6. 阅读《构建之法》第6 第7章
  7. 如何为resin的jvm-default.log瘦身
  8. 《软件体系结构》 练习题
  9. python 生意参谋_电商 Python 抓取 生意参谋-访客数据
  10. java生成zipf分布_用于文本生成的Java中的Zipf定律 – 太慢了
  11. C# WinForm打开PDF文件
  12. Python教程传送门,手把手带你学会Python!
  13. c语言 请编程序将 China 译成密码,分别用putchar和printf函数输出这5个字符
  14. 软件测试要学什么?软件测试学习路线资料分享
  15. 平衡左右脑、加强记忆、提高情商……冥想的这些好处你知道吗?
  16. mysql数据库修改密码
  17. C语言逻辑语句问题集锦
  18. 移动开发中一些bug及解决方案
  19. 2022年天梯赛题目解析
  20. linux有没有类似于串口的,linux下类似Bus Hound的工具

热门文章

  1. Oracle发布Oracle数据库的官方Node.js驱动node-oracledb
  2. weblogic linux sun/awt/X11GraphicsEnvironment
  3. jq处理返回来json_(转)JQuery处理json与ajax返回JSON实例
  4. 手把手教你学dsp_新课免费看| 手把手教你学DSP,C2000从入门到精通
  5. 分布式锁 分布式系统
  6. Nacos内核设计之一致性协议
  7. 数据结构与算法--图的表示与常用算法
  8. Java 实现 微信支付完成回调解密返回字符串内容
  9. JVM优化系列-Java对象引用与可触及强度
  10. 关于分布式集群的几个问题