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




本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2010/10/23/1858818.html,如需转载请自行联系原作者

相关文章
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
42 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
100 5
|
3月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
25 0
|
3月前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
124 0
|
5月前
|
开发框架 自然语言处理 前端开发
基于ASP.NET MVC开发的、开源的个人博客系统
基于ASP.NET MVC开发的、开源的个人博客系统
52 0
|
8月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
117 0
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
67 0
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
113 0