您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页.NET发送邮件技巧

.NET发送邮件技巧

来源:华拓科技网

用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)



 [ 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)

转载于:https://www.cnblogs.com/wangfei-bky/archive/2010/11/18/1881272.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务