发送邮件|技巧
用System.Web.Mail发送邮件,适用于.net1.1,.net2.0请用System.Net.Mail
先引用System.Web
1,发送简单邮件
[ C# ]
MailMessage mail = new MailMessage();mail.To = " = " = "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 = " = " = "this is a test email."mail.Body = "this is my test email body"SmtpMail.SmtpServer = "localhost" 'your real server goes hereSmtpMail.Send(mail)这里的smtpserver只能是那些不需要验证的smtp服务器,像126,sina,yahoo等等的邮箱,都需要验证,所以不能用。用这些邮箱发信后面会讲到2,发送Html邮件[ C# ] MailMessage mail = new MailMessage();mail.To = " = " = "this is a test email.";mail.BodyFormat = MailFormat.Html;mail.Body = "this is my test email body.
<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 = " = " = "this is a test email."mail.BodyFormat = MailFormat.Htmlmail.Body = "this is my test email body.
<b>this part is in bold</b>"SmtpMail.SmtpServer = "localhost" 'your real server goes hereSmtpMail.Send(mail)
3,发送附件
[ C# ]
MailMessage mail = new MailMessage();mail.To = " = " = "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 );
[ VB.NET ]
Dim mail As New MailMessage()mail.To = " = " = "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 hereSmtpMail.Send(mail)
4,修改发件人和收件人的名称比如发件人的地址是,我们用outlook收到信,From一栏里将直接显示.能不能在From一栏里显示友好一点的名字呢?比如显示Tony Gong方法如下:[ C# ] MailMessage mail = new MailMessage();mail.To = "\"John\" < = "\"Tony Gong\" < = "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"" < = """Tony Gong"" < = "this is a test email."mail.Body = "this is my test email body."SmtpMail.SmtpServer = "localhost" 'your real server goes hereSmtpMail.Send(mail)
5,发送给多人
[ C# ]
MailMessage mail = new MailMessage();mail.To = " = " = "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 = " = " = "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服务器需要验证了
发信方法如下:
[ C# ]
MailMessage mail = new MailMessage(); mail.To = ""; mail.From = ""; mail.Subject = "this is a test email."; mail.Body = "Some text goes here"; mail.Fields.Add("", "1"); //basic authentication mail.Fields.Add("", "abc"); //set your username here mail.Fields.Add("", "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 = "" mail.From = "" mail.Subject = "this is a test email." mail.Body = "Some text goes here" mail.Fields.Add("", "1") 'basic authentication mail.Fields.Add("", "abc") 'set your username here mail.Fields.Add("", "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 = ""; mail.From = ""; mail.Subject = "this is a test email."; mail.Body = "Some text goes here"; mail.Fields.Add("", "1"); //basic authentication mail.Fields.Add("", "abc"); //set your username here mail.Fields.Add("", "your password"); //set your password here mail.Fields.Add("); mail.Fields.Add("", "true");
SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here SmtpMail.Send( mail ); [ VB.NET ] Dim mail As New MailMessage() mail.To = "" mail.From = "" mail.Subject = "this is a test email." mail.Body = "Some text goes here" mail.Fields.Add("", "1") 'basic authentication mail.Fields.Add("", "abc") 'set your username here mail.Fields.Add("", "Your Password") 'set your password here mail.Fields.Add(") mail.Fields.Add("", "true") SmtpMail.SmtpServer = "smtp.126.com" 'your real server goes here SmtpMail.Send(mail)