C#中发送邮件代码
更新时间:2008年11月25日 10:09:40 作者:
最近学习了下C#中实现邮件发送功能,并将该功能用于本博客的密码找回中!
始找的代码只能发送无SMTP验证的邮件,但现在很多EMAIL发送时都需要验证,后来查找了下MSDN的帮助,找到了发送验证的代码,贴出来希望对大家有所帮助!
public static int sendmail(string to, string body,string subject)
{
try
{
int nContain = 0;
///添加发件人地址
string from = "你的发送EMAIL";
MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress(from);
nContain += mailMsg.From.Address.Length;
///添加收件人地址
mailMsg.To.Add(to);
nContain += mailMsg.To.ToString().Length;
///添加邮件主题
mailMsg.Subject = subject;
mailMsg.SubjectEncoding = Encoding.UTF8;
nContain += mailMsg.Subject.Length;
///添加邮件内容
mailMsg.Body = body;
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.IsBodyHtml = true;
nContain += mailMsg.Body.Length;
if (mailMsg.IsBodyHtml == true)
{
nContain += 100;
}
///发送邮件
try
{
//定义发送邮件的Client
SmtpClient client = new SmtpClient();
//表示以当前登录用户的默认凭据进行身份验证
client.UseDefaultCredentials = true;
//包含用户名和密码
client.Credentials = new System.Net.NetworkCredential(application.GetapplicationSendmail(), application.GetapplicationSendpass());
///设置邮件服务器主机的IP地址
client.Host = "SMTP服务器IP"
///设置邮件服务器的端口
client.Port = 25;
///配置发送邮件的属性
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject, strBody);
mailMsg.Priority = System.Net.Mail.MailPriority.Normal;
//client.UseDefaultCredentials = false;
///发送邮件
client.Send(mailMsg);
return 1;
}
catch (Exception ex) { return 0; }
}
catch (Exception ex) { return 0; }
}
复制代码 代码如下:
public static int sendmail(string to, string body,string subject)
{
try
{
int nContain = 0;
///添加发件人地址
string from = "你的发送EMAIL";
MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress(from);
nContain += mailMsg.From.Address.Length;
///添加收件人地址
mailMsg.To.Add(to);
nContain += mailMsg.To.ToString().Length;
///添加邮件主题
mailMsg.Subject = subject;
mailMsg.SubjectEncoding = Encoding.UTF8;
nContain += mailMsg.Subject.Length;
///添加邮件内容
mailMsg.Body = body;
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.IsBodyHtml = true;
nContain += mailMsg.Body.Length;
if (mailMsg.IsBodyHtml == true)
{
nContain += 100;
}
///发送邮件
try
{
//定义发送邮件的Client
SmtpClient client = new SmtpClient();
//表示以当前登录用户的默认凭据进行身份验证
client.UseDefaultCredentials = true;
//包含用户名和密码
client.Credentials = new System.Net.NetworkCredential(application.GetapplicationSendmail(), application.GetapplicationSendpass());
///设置邮件服务器主机的IP地址
client.Host = "SMTP服务器IP"
///设置邮件服务器的端口
client.Port = 25;
///配置发送邮件的属性
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject, strBody);
mailMsg.Priority = System.Net.Mail.MailPriority.Normal;
//client.UseDefaultCredentials = false;
///发送邮件
client.Send(mailMsg);
return 1;
}
catch (Exception ex) { return 0; }
}
catch (Exception ex) { return 0; }
}
相关文章
ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息
这篇文章主要介绍了ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息的相关资料,需要的朋友可以参考下2014-11-11HTTP 错误 500.19 - Internal Server Error解决办法详解
这篇文章主要介绍了HTTP 错误 500.19 - Internal Server Error解决办法详解的相关资料,这里对错误进行了详细分析及说明该如何解决,需要的朋友可以参考下2016-11-11ASP.NET的HtmlForm控件学习及Post与Get的区别概述
HtmlForm 控件用于控制form元素,本文主要介绍下HtmlForm控件的Method/Action方法(要提交数据的页面,即数据要传送至哪个网址)及Post与Get的区别感兴趣的朋友可以了解下,或许对你学习HtmlForm控件有所帮助2013-02-02
最新评论