采用ASP.NET发送电子邮件(采用SMTP验证及SSL)
2008-02-27 11:12
513 查看
我们可以采用ASP.NET的System.Net.Mail来访问Smtp服务器发送邮件,代码如下:
MailAddress from = new MailAddress(@"hen.hao.hen.qiang.da@xxx.com");
MailAddress to = new MailAddress(@"hen.huang.hen.bao.li@xxx.com");
MailMessage message = new MailMessage(from, to);
message.Body = "This is a test e-mail message sent by asp.net. ";
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = "test message" + someArrows;
message.SubjectEncoding = System.Text.Encoding.UTF8;
SmtpClient client = new SmtpClient(@"smtp.mailserver.domainname");
client.Port = 25;
client.Send(message);
但是我们知道现在多数SMTP是需要用户名和密码来验证的,否则大家就可以拿着上面的代码发送各种办证和治疗性病的小广告了,所以我们需要下面的代码:
MailAddress from = new MailAddress(@"hen.hao.hen.qiang.da@xxx.com");
MailAddress to = new MailAddress(@"hen.huang.hen.bao.li@xxx.com");
MailMessage message = new MailMessage(from, to);
message.Body = "This is a test e-mail message sent by asp.net with smtp authentication ";
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = "test message" + someArrows;
message.SubjectEncoding = System.Text.Encoding.UTF8;
SmtpClient client = new SmtpClient(@"smtp.mailserver.domainname");
client.Port = 25;
//here it comes!!!
client.UseDefaultCredentials = false;
NetworkCredential basicAuthenticationInfo = new NetworkCredential(@"hen.sha.hen.tian.zhen", "zhen.de.hen.sha.hen.tian.zhen");
client.Credentials = basicAuthenticationInfo;
client.Send(message);
现在我们可以不怕smtp验证了,不过现在gmail很流行,大家也许很像通过gmail来发邮件,但是gmail是支持ssl的,该如何发送呢,用下面的代码就可以:
MailAddress from = new MailAddress(@"hen.hao.hen.qiang.da@xxx.com");
MailAddress to = new MailAddress(@"hen.huang.hen.bao.li@xxx.com");
MailMessage message = new MailMessage(from, to);
message.Body = "This is a test e-mail message sent by asp.net with smtp authentication and ssl";
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = "test message" + someArrows;
message.SubjectEncoding = System.Text.Encoding.UTF8;
SmtpClient client = new SmtpClient(@"smtp.gmail.com");
//here it goes!!!
//client.Port = 25;
client.Port = 587; //gmail ssl port
client.EnableSsl = true;
client.UseDefaultCredentials = false;
NetworkCredential basicAuthenticationInfo = new NetworkCredential(@"hen.sha.hen.tian.zhen", "zhen.de.hen.sha.hen.tian.zhen");
client.Credentials = basicAuthenticationInfo;
client.Send(message);
MailAddress from = new MailAddress(@"hen.hao.hen.qiang.da@xxx.com");
MailAddress to = new MailAddress(@"hen.huang.hen.bao.li@xxx.com");
MailMessage message = new MailMessage(from, to);
message.Body = "This is a test e-mail message sent by asp.net. ";
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = "test message" + someArrows;
message.SubjectEncoding = System.Text.Encoding.UTF8;
SmtpClient client = new SmtpClient(@"smtp.mailserver.domainname");
client.Port = 25;
client.Send(message);
但是我们知道现在多数SMTP是需要用户名和密码来验证的,否则大家就可以拿着上面的代码发送各种办证和治疗性病的小广告了,所以我们需要下面的代码:
MailAddress from = new MailAddress(@"hen.hao.hen.qiang.da@xxx.com");
MailAddress to = new MailAddress(@"hen.huang.hen.bao.li@xxx.com");
MailMessage message = new MailMessage(from, to);
message.Body = "This is a test e-mail message sent by asp.net with smtp authentication ";
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = "test message" + someArrows;
message.SubjectEncoding = System.Text.Encoding.UTF8;
SmtpClient client = new SmtpClient(@"smtp.mailserver.domainname");
client.Port = 25;
//here it comes!!!
client.UseDefaultCredentials = false;
NetworkCredential basicAuthenticationInfo = new NetworkCredential(@"hen.sha.hen.tian.zhen", "zhen.de.hen.sha.hen.tian.zhen");
client.Credentials = basicAuthenticationInfo;
client.Send(message);
现在我们可以不怕smtp验证了,不过现在gmail很流行,大家也许很像通过gmail来发邮件,但是gmail是支持ssl的,该如何发送呢,用下面的代码就可以:
MailAddress from = new MailAddress(@"hen.hao.hen.qiang.da@xxx.com");
MailAddress to = new MailAddress(@"hen.huang.hen.bao.li@xxx.com");
MailMessage message = new MailMessage(from, to);
message.Body = "This is a test e-mail message sent by asp.net with smtp authentication and ssl";
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = "test message" + someArrows;
message.SubjectEncoding = System.Text.Encoding.UTF8;
SmtpClient client = new SmtpClient(@"smtp.gmail.com");
//here it goes!!!
//client.Port = 25;
client.Port = 587; //gmail ssl port
client.EnableSsl = true;
client.UseDefaultCredentials = false;
NetworkCredential basicAuthenticationInfo = new NetworkCredential(@"hen.sha.hen.tian.zhen", "zhen.de.hen.sha.hen.tian.zhen");
client.Credentials = basicAuthenticationInfo;
client.Send(message);
相关文章推荐
- ASP.NET 发送电子邮件 smtp
- 在asp.net中发送带有smtp验证的邮件
- asp.net中访问SQL Server数据库采用windows集成安全验证
- 在Asp.Net中使用SmtpMail发送邮件的方法
- ASP.NET 2.0中发送电子邮件
- ASP.NET 2.0发送电子邮件中存在的问题
- 在ASP.net中发送电子邮件
- 在VS.NET 2005中调用带身份验证smtp服务器发送邮件
- ASP.NET 2.0中发送电子邮件剖析之一
- Asp.Net类库中发送电子邮件的代码
- ASP.NET 2.0发送电子邮件中存在的问题
- MailBee.NET Objects发送电子邮件(SMTP)教程八:使用多个SMTP服务器发送邮件
- ASP.NET发送手机短信验证码
- 从asp.net页面发送电子邮件
- 使用perl的Net::SMTP::SSL模块发送smtps带附件的邮件
- 如何在ASP.NET中发送电子邮件?
- ASP.NET发送电子邮件
- ASP.NET 2.0发送电子邮件全面剖析之二
- MailBee.NET Objects发送电子邮件(SMTP)教程五:发送带有嵌入图片的网页和HTML邮件
- asp.net 发送电子邮件