C# 发送邮件源码
最近有用户提出了一个新的需求,希望公司的网站系统能够自动发邮件到相关人员的邮箱中,通过实践做出了程序,通过下面的代码分享给大家。
发送邮件使用VS中的System.Net.Mail类。
using System.Net.Mail;
/// <summary>
/// 发送邮件程序
/// </summary>
/// <param name=”from”>发送人邮件地址</param>
/// <param name=”fromname”>发送人显示名称</param>
/// <param name=”to”>发送给谁(邮件地址)</param>
/// <param name=”subject”>标题</param>
/// <param name=”body”>内容</param>
/// <param name=”username”>邮件登录名</param>
/// <param name=”password”>邮件密码</param>
/// <param name=”server”>邮件服务器</param>
/// <param name=”fujian”>附件</param>
/// <returns>send ok</returns>
/// 调用方法 SendMail(“[email protected]”, “某某人”, “[email protected]”, “你好”, “我测试下邮件”, “邮箱登录名”, “邮箱密码”, “smtp.126.com”, “”);
private string SendMail(string from,string fromname,string to,string subject,string body,string username,string password,string server,string fujian)
{
try
{
//邮件发送类
MailMessage mail = new MailMessage();
//是谁发送的邮件
mail.From = new MailAddress(from, fromname);
//发送给谁
mail.To.Add(to);
//标题
mail.Subject = subject;
//内容编码
mail.BodyEncoding = Encoding.Default;
//发送优先级
mail.Priority = MailPriority.High;
//邮件内容
mail.Body = body;
//是否HTML形式发送
mail.IsBodyHtml = true;
//附件
if (fujian.Length > 0)
{
mail.Attachments.Add(new Attachment(fujian));
}
//邮件服务器和端口
SmtpClient smtp = new SmtpClient(server, 25);
smtp.UseDefaultCredentials = true;
//指定发送方式
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
//指定登录名和密码
smtp.Credentials = new System.Net.NetworkCredential(username, password);
//超时时间
smtp.Timeout = 10000;
smtp.Send(mail);
return “send ok”;
}
catch(Exception exp)
{
return exp.Message;
}
}