ASP.NET MVC 3 Beta初体验之实用的WebMail

  Asp.net MVC 3 Beta中提供了非常实用发送邮件的组件:WebMail。我试用了一下,和System.Web.Mail类似。这篇文章将简单介绍一下这个组件的使用。通过分成不带附件的邮件发送和带附件的邮件发送两种情况进行讲解。用一个请求帮助的应用场景为例。

  不带附件的邮件发送

  首先定义Controller。EmailRequest用于请求一个发送邮件的页面,ProcessRequest用去处理发送邮件的请求,并在View中发送邮件。

代码 [HttpGet]

public ActionResult EmailRequest()

{

return View();

}

[HttpPost]

public ActionResult ProcessRequest()

{

return View();

}

  EmailRequest.cshtml代码如下:

代码<!DOCTYPE html>

<html>

<head>

<title>求助中心</title></head><body>

<h2>发送邮件求助</h2>

<form method="post" action="ProcessRequest">

<div>你的姓名:

<input type="text" name="customerName" />

</div>

<div>你的问题描述: <br />

<textarea name="customerRequest" cols="45" rows="4">

</textarea>

</div>

<div>

<input type="submit" value="Submit" />

</div>

</form>

</body>

</html>

  发送邮件的View:

@{

var customerName = Request["customerName"];

var customerRequest = Request["customerRequest"];

try

{

// 初始化

WebMail.SmtpServer = "smtp.126.com";

WebMail.SmtpPort = 25;

WebMail.EnableSsl = false;

WebMail.UserName = "zhuqi0";

WebMail.From = "zhuqi0@126.com";

WebMail.Password = "**********";

// 发送邮件

WebMail.Send(to:"zhuqi0@126.com",

subject: "来自 - " + customerName+"的求助",

body: customerRequest

);

}

catch (Exception ex )

{

<text>

<b>邮件发送<em>失败</em>。</b>

代码中没有提供正确的SMTP服务名,用户名,密码等信息。

</text>

}

}

<!DOCTYPE html>

<html><head>

<title>求助中心</title></head><body>

<p>非常抱歉听到你有麻烦,

<b>@customerName</b>.

</p>

<p>关于下面问题的邮件已经发送给我们的
客服,相关部门会及时处理。</p>

<p><b>@customerRequest</b></p></body></html>

  运行:

  发送成功页面:

  邮件通知:

  带附件的邮件发送:

  带附件的邮件发送类似,不过需要知道附加地址的列表,发送邮件的带附件的邮件代码如下:

@{

var customerName = Request["customerName"];

var subjectLine = Request["subjectLine"];

var fileAttachment = Request["fileAttachment"];

try {

// 初始化

WebMail.SmtpServer = "smtp.126.com";

WebMail.SmtpPort = 25;

WebMail.EnableSsl = false;

WebMail.UserName = "zhuqi0";

WebMail.From = "zhuqi0@126.com";

WebMail.Password = "**********";

// 创建包含附件的数组

var filesList = new string [] { fileAttachment };

// 添加附件和发送邮件

WebMail.Send(to: "zhuqi0@126.com",subject: subjectLine,

body: "File attached. <br />From: " + customerName,

filesToAttach: filesList);

}

catch (Exception ex)

{

<text>

<b>邮件发送<em>失败</em>。</b>

代码中没有提供正确的SMTP服务名,用户名,密码等信息。

</text>

}

}

<!DOCTYPE html>

<html>

<head>

<title>求助中心</title>

</head>

<body>

<p><b>@customerName</b>,
感谢你的支持.</p> <p>关于下面问题的邮件已经发送给我们的客服,相关部门会及时处理。 <b>

@fileAttachment</b>

file attached.</p>

</body>

</html>

  从上面的两种情况我们可以看到,WebMail和System.Web.Mail使用的方式是一样的,不过在Asp.net MVC 3 Beta中WebMail使用起来更简便了。

  第一步:初始化,指定邮件发送服务器。

  WebMail.SmtpServer = "smtp.126.com";

  第二步:指定端口。

  WebMail.EnableSsl = false;

  第三步:指定用户名。

  WebMail.UserName = "zhuqi0";

  第四步:你的邮箱地址和密码。

  WebMail.From = "zhuqi0@126.com";       
  WebMail.Password = "********";

  第五步:如果有附件指定附件地址。

  var filesList = new string [] { fileAttachment };

  第六步:邮件发送。

  WebMail.Send(to: "zhuqi0@126.com",subject: subjectLine,           
  body: "File attached. <br />From: " + customerName,
  filesToAttach: filesList);

  总结:本文简单介绍了一下ASP.NET MVC 3 Beta中WebMail的使用。

  代码:http://files.cnblogs.com/zhuqil/MvcApplicationWebMail.rar

时间: 2024-09-19 09:47:50

ASP.NET MVC 3 Beta初体验之实用的WebMail的相关文章

一起谈.NET技术,ASP.NET MVC 3 Beta初体验之实用的WebMail

Asp.net MVC 3 Beta中提供了非常实用发送邮件的组件:WebMail.我试用了一下,和System.Web.Mail类似.这篇文章将简单介绍一下这个组件的使用.通过分成不带附件的邮件发送和带附件的邮件发送两种情况进行讲解.用一个请求帮助的应用场景为例. 不带附件的邮件发送 首先定义Controller.EmailRequest用于请求一个发送邮件的页面,ProcessRequest用去处理发送邮件的请求,并在View中发送邮件. 代码 [HttpGet]public ActionR

ASP.NET MVC 3 Beta初体验之超酷的Chart

前面一篇文章:ASP.NET MVC 3 Beta初体验之WebGrid介绍了WebGrid控件的使用,ASP.NET MVC 3 Beta中才内置Chart的.这篇文章中将介绍Chart的使用.包括Chart数据源的配置.Chart的显示.Chart保存三个方面.Chart是很多系统中使用, 所以在ASP.NET MVC 3 Beta初体验之中介绍它是很有必要的. 1.配置Chart的数据源 给Chart 配置数据源大概有三种方式. 第一种:使用数组示例:Controller代码: publi

一起谈.NET技术,ASP.NET MVC 3 Beta初体验之超酷的Chart:3D效果

在前一篇文章:ASP.NET MVC 3 Beta初体验之超酷的Chart中介绍了Chart的使用,但是没有介绍到3D效果.这篇文章将介绍一下Chart的3D效果的展示.声明一点的是:这个Chart控件可能没有一些开源或者不开源,收费或者不收费的组件那般强大,我相信未来这个控件会越来越强大的.废话不多说了,看下如何展示Chart的3D效果. 显示3D的效果,微软给了我们两种解决方案.一种是使用他自带的样式,一种是自己配置一个显示样式的XML. 第一种使用自带的样式:很简单,在上一篇文章中其实有提

一起谈.NET技术,ASP.NET MVC 3 Beta初体验之超酷的Chart

前面一篇文章:ASP.NET MVC 3 Beta初体验之WebGrid介绍了WebGrid控件的使用,ASP.NET MVC 3 Beta中才内置Chart的.这篇文章中将介绍Chart的使用.包括Chart数据源的配置.Chart的显示.Chart保存三个方面.Chart是很多系统中使用,所以在ASP.NET MVC 3 Beta初体验之中介绍它是很有必要的. 1.配置Chart的数据源 给Chart配置数据源大概有三种方式. 第一种:使用数组 示例: Controller代码: publi

ASP.NET MVC 3 Beta初体验之WebGrid

ASP.NET MVC 3 Beta中除了推出一种新的视图引擎Razor.还推出了几种新的HtmlHelper.我比较关注的是WebGrid,这篇文章将介绍一下WebGrid的使用.WebGrid提供了分页和排序的功能,在此之前在MVC中分页和排序时需要自己去写的.这篇文章将分别介绍在aspx视图引擎和Razor视图引擎中如何使用它. 我通过ADO.NET Entity Data Model从NORTHWND的Products中表中取数据.在Controller中取数据: public clas

一起谈.NET技术,ASP.NET MVC 3 Beta初体验之WebGrid

ASP.NET MVC 3 Beta中除了推出一种新的视图引擎Razor.还推出了几种新的HtmlHelper.我比较关注的是WebGrid,这篇文章将介绍一下WebGrid的使用.WebGrid提供了分页和排序的功能,在此之前在MVC中分页和排序时需要自己去写的.这篇文章将分别介绍在aspx视图引擎和Razor视图引擎中如何使用它. 我通过ADO.NET Entity Data Model从NORTHWND的Products中表中取数据.在Controller中取数据: public clas

Asp.net mvc 3 beta 新特性介绍

国庆放假归来,刚好赶上asp.net mvc 3 beta发布,和大家分享点我的体验. 首先是创建项目时的选择界面的改变: 1.View Engine的变化. asp.net mvc 3中添加了Razor这个View engine. 如果你在创建的项目中同时有Index.aspx和Index.cshtml, 默认的MVC会选择aspx 的view来显示.但是你可以通过在Global.asax文件中的Application_Start方法中添加如下代码来让MVC先去执行Razor Engine的I

ASP.NET MVC 3 Beta新特性以及.Net开源的趋势----最新译文

NuPack – .NET的开源软件包管理器 NuPack是一个开源的软件包管理器,它使你在项目中能够更加容易的查找.安装和使用.NET 库.它能够和所有的.NET 项目类型很好的一起工作(包括,没有任何限制的,ASP.NET Web Forms和ASP.NET MVC). NuPack 使维护开源项目的开发者(例如, Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, Elmah, 等等) 能够去打包他们的库,

一起谈.NET技术,ASP.NET MVC 3 Beta新特性以及.Net开源的趋势----最新译文

NuPack – .NET的开源软件包管理器 NuPack是一个开源的软件包管理器,它使你在项目中能够更加容易的查找.安装和使用.NET 库.它能够和所有的.NET 项目类型很好的一起工作(包括,没有任何限制的,ASP.NET Web Forms和ASP.NET MVC). NuPack 使维护开源项目的开发者(例如, Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, Elmah, 等等) 能够去打包他们的库,