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; }
}