程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> net發送郵件的一些技巧

net發送郵件的一些技巧

編輯:.NET實例教程

用System.Web.Mail發送郵件,適用於.net1.1,.net2.0請用System.Net.Mail

先引用System.Web
1,發送簡單郵件
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "[email protected]";
mail.From = "[email protected]";
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 = "[email protected]"
mail.From = "[email protected]"
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 = "[email protected]";
mail.From = "[email protected]";
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 = "[email protected]"
mail.From = "[email protected]"
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 = "[email protected]";
mail.From = "[email protected]";
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 = "[email protected]"
mail.From = "[email protected]"
mail.Subject = "this is a test email."
mail.Body = "this is my test email body."
Dim attachment As New MailAttachment(Server.MapPath("test.txt")) 'cre
ate the attachment
mail.Attachments.Add(attachment) 'add the attachment
SmtpMail.SmtpServer = "localhost" 'your real server goes here
SmtpMail.Send(mail) 

4,修改發件人和收件人的名稱
比如發件人的地址是[email protected],我們用outlook收到信,From一欄裡將直接顯示[email protected].
能不能在From一欄裡顯示友好一點的名字呢?
比如顯示Tony Gong

方法如下:
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "\"John\" <[email protected]>";
mail.From = "\"Tony Gong\" <[email protected]>";
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"" <[email protected]>"
mail.From = """Tony Gong"" <[email protected]>"
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 = "[email protected];[email protected];[email protected]";
mail.From = "[email protected]";
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 = "[email protected];[email protected];[email protected]"
mail.From = "[email protected]"
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 = "[email protected]";
mail.From = "[email protected]";
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 = "[email protected]"
mail.From = "[email protected]"
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 = "[email protected]";
mail.From = "[email protected]";
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 = "[email protected]"
mail.From = "[email protected]"
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)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved