net发送邮件集

来源:互联网 发布:mac可以用office吗 编辑:程序博客网 时间:2024/06/05 11:29
用System.Web.Mail发送邮件,适用于.net1.1,.net2.0请用System.Net.Mail

先引用System.Web
1,发送简单邮件

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 hereSmtpMail.Send( mail );


2,发送Html邮件
 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 hereSmtpMail.Send( mail );
3,发送附件
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 attachmentmail.Attachments.Add( attachment ); 
//add the attachmentSmtpMail.SmtpServer = "localhost";  
//your real server goes hereSmtpMail.Send( mail );
 

4,修改发件人和收件人的名称
比如发件人的地址是abc@126.com,我们用outlook收到信,From一栏里将直接显示abc@126.com.
能不能在From一栏里显示友好一点的名字呢?
比如显示Tony Gong

方法如下:
 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 hereSmtpMail.Send( mail );

5,发送给多人
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 hereSmtpMail.Send( mail );
6,用需要Smtp验证的邮箱发信
现在为了防止垃圾邮件,绝大部分Smtp服务器需要验证了
发信方法如下:

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
代码如下:
 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 );