通过 .aspx C# 发送邮件






1.87/5 (11投票s)
2005年11月15日
2分钟阅读

220962
如何在 .NET 中发送电子邮件。
所有“联系我们”表单都需要一个邮件系统
在本文中,你将学习如何从你的 .aspx 站点发送电子邮件,使用纯文本格式、html 格式,以及通过两种方式添加附件:快速(简单)方式和专业(我喜欢这种方式)方式。第一步是确保 SMTP 服务器已在 IIS 的 SMTP 服务中本地安装。
简单方式
这是一种简单快捷的方法,我们将此表单命名为 ContactMe.aspx。首先,我们需要导入 System.Web.Mail。然后在代码后台添加命名空间
using System.Web.Mail;
现在构建你的消息
string To = "cgodinez@technomex.net";
string From = "mymail@mail.com";
string Subject = "The Famous";
string Body = "Hello World";
SmtpMail.Send(From,To,Subject,Body);
什么是 SmtpMail?
这个类有一个名为 Send 的方法,允许用户发送电子邮件,通过这种方式我们设置四个参数
SmtpMail.Send("mymail@mail.com","cgodinez@technomex.net","The Famous","Hello World");
正如你所见,这是简单快捷的方法。现在你将学习如何使用专业的方式(有趣)。在这里,你将发送一封包含附件和抄送的电子邮件,我们可以使用上述相同的参数
专业方式(我喜欢这种方式)
我们需要创建一个名为 myMail 的对象 (MailMessage)MailMessage myMail = new MailMessage();
myMail.To = To;
myMail.Cc = "acarboncopy@cc.com";
myMail.From = From;
myMail.Subject = Subject;
myMail.BodyFormat = MailFormat.Html; // here you can choose: Plain or HTML
string body = "<html><body> Bolded message
The Message
</body></html>";
myMail.Body = body; //set the body message
myMail.Attachments.Add(new MailAttachment("c:\\filename.jpg")); //add the attachment
SmtpMail.Send(myMail);
现在去检查你的收件箱,看看发生了什么。那么这段代码我做了什么?
正如你所见,我使用了 MailMessage 类中的一个枚举 (MailFormat),这个枚举有两个选项:Text 和 HTML,我设置了 HTML 并构建了 Body 消息。
你不会收到关于电子邮件消息是否成功的任何值。原因是电子邮件被写入到 Inetput 文件夹中,如果邮件发送失败,你也可以去 inetpub 中的 Badmail 文件夹中检查,这样,如果你设置了无效的收件人或发件人电子邮件地址,消息将被设置在这个文件夹中。