C# 的一个发送邮件的示例,我给的**示例**中还有类似验证的功能。 不过主要代码是修改某一个博客的,现在忘了。
class SendMailCls
{
/// <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("abc@126.com", "某某人", "cba@126.com", "你好", "我测试下邮件", "邮箱登录名", "邮箱密码", "smtp.126.com", "");
public 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 = System.Text.Encoding.UTF8; // 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; }
}
}
// 示例
String msg=@"
<div><div style='margin:0 auto;border:1px solid #8e8e8e;width:700px;'><div style='border-bottom:2px solid #3276b1;margin:10px 20px;'><a href='hihocoder.com' target='_blank'><img src='http://static.hihocoder.com/images/logo.png' style='height: 36px;margin-bottom:5px;'></img></a></div><div style='padding:10px 20px;'><p style='color:#15C;'></p> 请您点击下面的链接(该链接在12小时内有效),完成您在hihoCoder的验证<br></br><a href='http://hihocoder.com/user/acct-bind/vidy49dbn5nfw.ecaf4d23e2b9c58c61e3b497c9a942be' style='color:#15C;' target='_blank'> http://hihocoder.com/user/acct-bind/vidy49dbn5nfw.…</a><p style='margin:10px 0;'><a href='http://hihocoder.com/user/acct-bind/vidy49dbn5nfw.ecaf4d23e2b9c58c61e3b497c9a942be' style='color:#15C;' target='_blank'></a></p><span style='color:#999;font-size:12px;'> (如果链接无法点击,请复制黏贴到浏览器访问)</span><p style='padding-top:15px;font-size:12px;border-top:1px dashed #ccc;margin-top: 20px;color:#999;'> 本邮件由系统自动发出,请勿回复</p></div><div style='background:#F9F9F9;font-size: 12px;color:#999;border-top:1px solid #ccc;padding:10px 20px'> 您收到此邮件是因为您在hihoCoder使用第三方帐户登录并同意接受来自该网站的邮件。<br></br> 如有任何疑问,请登录www.hihocoder.com</div></div></div>
";
SendMailCls sdm = new SendMailCls();
msg = sdm.SendMail("XXX@163.com", "Computer Science Class 1105", "xxx@163.com", "注册验证消息", msg, "xxx@163.com", "xxx", "smtp.163.com", "");
Console.WriteLine(msg);