需要三个类:MailMessage、SmtpClient、NetworkCredential。
MailMessage、SmtpClient 的名称空间是:
System.Net.Mail
NetworkCredential 的名称空间是:
System.Net
核心代码
MailMessage mail = new MailMessage("发送方邮件地址", "接收方邮件地址");
mail.SubjectEncoding = Encoding.UTF8;
mail.Subject = "邮件标题";
mail.IsBodyHtml = true; //是否允许内容为 HTML 格式
mail.BodyEncoding = Encoding.UTF8;
mail.Body = "<strong>System.Net.Mail</strong>";
mail.Attachments.Add(new Attachment("E://foo.txt")); //添加一个附件
SmtpClient smtp = new SmtpClient("SMTP 服务器地址");
smtp.Credentials = new NetworkCredential("登录名", "密码"); //SMTP 验证
smtp.Send(mail);
mail.Attachments.Dispose(); //邮件发送完毕,释放对附件的锁定
MailMessage 还有众多的功能,比如用 To.Add() 添加收件人,CC.Add() 添加抄送,Bcc.Add() 添加暗送,都比较简单,就不一一介绍了。
SmtpClient 请确保发送服务器地址正确,否则可能出现“由于目标机器积极拒绝,无法连接。”的错误;同时请确保端口正确,否则可能出现“远程主机强迫关闭了一个现有的连接”的错误。
现在的 SMTP 服务器,几乎都要求验证,通过 NetworkCredential 来发送用户名和密码。
相关阅读
请参见 MSDN 的 MailMessage 成员 (System.Net.Mail)
相关文章
System.Net.Mail 与 System.Web.Mail 的区别 在 ASP.NET 中发送邮件(带 SMTP 验证、带附件) |
|