.net 发送Email

 用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 hereSmtpMail.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 hereSmtpMail.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 attachmentmail.Attachments.Add( attachment ); //add the attachment
SmtpMail.SmtpServer = "localhost";  //your real server goes hereSmtpMail.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 attachmentmail.Attachments.Add(attachment) 'add the attachmentSmtpMail.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 hereSmtpMail.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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值