分享
 
 
 

Asp.Net 发送 smpt邮件

王朝学院·作者佚名  2009-12-24
窄屏简体版  字體: |||超大  

using System.Web.Mail ;

private void Button1_Click(object sender, System.EventArgs e)

{

//实例化MailMessage对象

System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();

//定义邮件的发送地址 , 可以随便填一个不存在的地址,垃圾邮件就是这样子做的吧^_^

mail.From="widebright@widebright.com";

//定义邮件的接收地址

//设置以分号分隔的收件人电子邮件地址列表

mail.To="gmd20@163.com";

//定义邮件的暗送地址

//设置以分号分隔的电子邮件地址列表

//mail.Bcc="ddd@sina.com";

//定义邮件的抄送地址

//设置以分号分隔的电子邮件地址列表

//mail.Cc="ddd@x.cn;ddd@eyou.com

//定义邮件的主题

mail.Subject="widebright 的邮件测试 asp.net发送邮件学习";

//设置电子邮件正文的内容类型

//在这里我们以HTML的格式发送

mail.BodyFormat=System.Web.Mail.MailFormat.Html;

//设置电子邮件的正文

mail.Body="测试一下,看行不行哟";

//用 @ 引起来的字符串以 @ 开头,并且也用双引号引起来。例如:

//用 @ 引起来的优点在于换码序列“不” 被处理,这样就可以轻松写出字符串,例如一个完全限定的文件名:

//@"c:\Docs\Source\a.txt" // rather than "c:\\Docs\\Source\\a.txt"

//若要在一个用 @ 引起来的字符串中包括一个双引号,请使用两对双引号:

// @"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

// @ 符号的另一种用法是使用碰巧成为 C# 关键字的被引用的 (/reference) 标识符。

// http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx

//设置一个附件

System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@" F:\dddddd.txt");

//邮件附加上一个附件

mail.Attachments.Add(mailAttachment);

//多个附件在这里继续添加

mailAttachment=new System.Web.Mail.MailAttachment(@"F:\asp_net 发送邮件代码_百度知道.mht");

mail.Attachments.Add(mailAttachment);

//SMTP服务器 ,因为用的是本机架设的,所以写127.0.0.1 , 如果连接的是其他服务器的话,像163邮箱,要写smpt.163.com

System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";

//说是许多SMTP服务器都需要身份验证 ,防止垃圾邮件,好像叫做扩展smpt协议什么的。

//但这里连接的是自己的smpt服务器,简单的smpt,所以也没有什么验证了。

//至于从本机的SMPT服务器再把邮件发送到163或者其他邮箱 的时候要不要验证就不知道了, 实测时邮件时可以发到

//@163.com , @eyou.com,@x.cn的,也不用什么验证。

//验证

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

//登陆名

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

//登陆密码

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

//发送

System.Web.Mail.SmtpMail.Send(mail);

}

上面的代码是采用 .Net 中提供的 System.Web.Mail.SmtpMail类来发送邮件,自动连接

SMPT服务器来发送邮件。以有的人是自己用TCP类,或者socket写代码实现smpt协议,不过那样子

要处理很多编码啊,协议啊等,比较麻烦。我以前用VB时也做过一个,smpt协议比较简单,不过

那些附件的编码就还要写很多代码。

这里只是smtp发信代码而已,如果要做收信等 好要pop3 服务器提供对pop3协议的支持才行。

smtp服务器是安装完IIS就有的了,pop3切没有自带,安装起来也会麻烦一些吧,没试过!

SMTP服务器的配置

我是安装完IIS 5.1后就自己启用了,在IIS信息服务管理器中配置一下就可以了。

1。 在 Domains 里面增加几个域名:右键当击“Default SMTP Virtual Server” 中的Domains

选 “New” 新建, ---》 Domain Type 选 “Remote”,

Domain name 分别填 163.com eyou.com x.cn, 因为我要给这些服务器发邮件,和上面代码中

===============

mail.To="gmd20@163.com";

===============

相对应的,你要发送邮件给谁,就要设置相应的域名,不设置的时候邮件是发送不出去的。

2。 右键单击 163.com 等域名,选 “属性” ,勾上 “Allow incoming mail to be relayed to this domain”,勾上后邮件才能发送出去,否则还是有错。

下面的 Route domain 选默认的 Use DNS to route to domain 就可以了。

关键是在IIS中要设置好对应的smtp服务器域名,就可以发送邮件了。我在asp.net页面上测试了

好几个邮箱都是可以正常发送出去的。 像163邮箱一点按钮发送,就会收得到了。

刚发现可以添加

*.com

*.net

*cn

域名来匹配大多数的邮箱。

如增加了*.com 域名之后,就可以给 @163.com ,@eyou.com发信了

在 windows xp+ visual sutdio 2003 + iis5.1 环境下测试通过,

不过只有发现发送到新浪邮箱的信件收不到,不知道为什么。

出现 SMTP典型错误 550 5 7 1 Uable to relay

则除了domains 域名没有设置好还有可能是

SMTP虚拟服务器的设置中没有选中“allow computers which successfully authenticate to relay”复选框。如下所示,

先打开SMTP Virtual Server的属性页的Access页:

然后点击“Relay”按钮,看“Allow all computers which successfully authenticate to relay,regardless of the list above”是否选中:

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kgdlin/archive/2007/03/23/1539120.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yuff0408/archive/2009/12/23/5060035.aspx

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有