65.9K
CodeProject 正在变化。 阅读更多。
Home

通过 .aspx C# 发送邮件

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.87/5 (11投票s)

2005年11月15日

2分钟阅读

viewsIcon

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 文件夹中检查,这样,如果你设置了无效的收件人或发件人电子邮件地址,消息将被设置在这个文件夹中。

© . All rights reserved.