Translate Into English Coffee & Tea
ASP.NET 中的 AJAX ASP.NET 画图全接触 ASP.NET 与 XML 声明式数据绑定 ASP.NET 网页抓取
C# 基础 C# 类教程 C# 加密 ASP.NET 成员资格 非“自动化”处理 Excel
QuickAjax Ajax 完美的语法高亮器 Silverlight Popfly
通栏广告
在 ASP.NET 中发送邮件(带 SMTP 验证、带附件)

需要三个类: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 来发送用户名和密码。

相关阅读

文章评论
标题:必填
内容:
文章信息