网络软件 系统工具 应用软件 图形图像 多媒体类 免费游戏 安全相关 免费音乐 网页素材 电子书籍 考试考题 建站源码
教育教学 多媒体类 编程开发 操作系统 游戏天地 娱乐天地 简历求职 站长专区 网页设计 安全技术 图形图像 文学驿站
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网页设计 | 技术开发 | 专栏
当前位置:热点网络学院技术开发.Net 专栏.NET使用.net发送邮件的一些技巧
精品推荐
热点TOP10
·ASP.Net实现将Word转换PDF格式
·ASP.NET IIS 注册工具 (Aspnet_regiis.exe)
·安装ASP.NET完全手册
·ASP.Net+XML打造留言薄
·Asp.Net中使用水晶报表
·asp.net结合html,javascript实现无刷新跨域数据提交
·Autodesk官方最新的.NET教程(一)(C#版)
·ASP.NET中为DataGrid添加单选框
·一个ASP.NET的进度条
·用Asp.Net创建基于Ajax的聊天室程序
·在ASP.net中保存/取出图片入/从SQL数据库(可用于上传图片)
·解决ASP.NET的进程帐户没有访问 IIS的权限
·VB.Net基本语句
·Asp.net cache 简述
·Web应用程序ASP.NET开发电子商务网站购物车
·关于ASP.NET在IIS一些问题的经验总结
·跳出封装剖析ASP.NET脚本回调的原理
·一个高效判断字符串是否全数字的函数
·在ASP.NET应用中插入flash动画
·ASP.NET 拒绝访问
.net发送邮件的一些技巧
日期:2007年1月17日 作者: 查看:[大字体 中字体 小字体]
用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 );

[ VB.NET ]
Dim mail As 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 );


[ VB.NET ]
Dim mail As 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 );

[ VB.NET ]
Dim mail As 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."
Dim attachment As 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 );


[ VB.NET ]
Dim mail As 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 );

[ VB.NET ]
Dim mail As 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 );




[ VB.NET ]

Dim mail As 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 );








[ VB.NET ]


Dim mail As 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)

(出处:http://www.vipcn.com)

关于我们 | 帮助(?) | 版权声明 | 友情连接 
Copyright 2005-2005 viphot.com All Rights Reserved.
Powered by:mesky