ASP.NET 实现邮件发送和接受的功能(Mail)

简介:

前台代码:html
<% @ Page language="c#" Codebehind="WebMail.aspx.cs" AutoEventWireup="false" Inherits="MymailSys.WebMail"  %>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
< HTML >
    
< HEAD >
        
< title > WebForm1 </ title >
        
< meta  content ="Microsoft Visual Studio .NET 7.1"  name ="GENERATOR" >
        
< meta  content ="C#"  name ="CODE_LANGUAGE" >
        
< meta  content ="JavaScript"  name ="vs_defaultClientScript" >
        
< meta  content ="http://schemas.microsoft.com/intellisense/ie5"  name ="vs_targetSchema" >
    
</ HEAD >
    
< body  MS_POSITIONING ="GridLayout" >
        
< form  id ="Form1"  method ="post"  runat ="server"  enctype ="multipart/form-data" >
            
< FONT  face ="宋体" >
                
< asp:label  id ="Label2"  style ="Z-INDEX: 101; LEFT: 224px; POSITION: absolute; TOP: 16px"  runat ="server"  Width ="292px"  Font-Names ="隶书"  Font-Size ="XX-Large" > 邮件发送系统 </ asp:label >
                
< TABLE  id ="Table1"  style ="Z-INDEX: 102; LEFT: 80px; WIDTH: 606px; POSITION: absolute; TOP: 96px; HEIGHT: 341px"  cellSpacing ="1"  cellPadding ="1"  width ="606"  align ="left"  border ="1" >
                    
< TR >
                        
< TD  style ="WIDTH: 178px; HEIGHT: 21px"  colSpan ="2" >< asp:label  id ="lblShowMsg"  runat ="server"  Width ="99px"  ForeColor ="Red" ></ asp:label ></ TD >
                        
< TD  style ="WIDTH: 178px; HEIGHT: 21px" >< FONT  face ="宋体" ></ FONT ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 122px" >< asp:label  id ="Label1"  runat ="server"  Width ="92px" > 发件人: </ asp:label ></ TD >
                        
< TD >< asp:textbox  id ="tbFrom"  runat ="server" ></ asp:textbox ></ TD >
                        
< TD >< asp:requiredfieldvalidator  id ="RequiredFieldValidator1"  runat ="server"  Width ="156px"  ControlToValidate ="tbFrom"  ErrorMessage ="发件人不能为空!"  Height ="26px" ></ asp:requiredfieldvalidator ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 122px" >< FONT  face ="宋体" > 收件人: </ FONT ></ TD >
                        
< TD >< asp:textbox  id ="tbTo"  runat ="server" ></ asp:textbox ></ TD >
                        
< TD >< FONT  face ="宋体" >< asp:requiredfieldvalidator  id ="RequiredFieldValidator2"  runat ="server"  Width ="152px"  ControlToValidate ="tbTo"  ErrorMessage ="收件人不能为空!"  Height ="26px" ></ asp:requiredfieldvalidator ></ FONT ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 122px" >< FONT  face ="宋体" > 邮件主题: </ FONT ></ TD >
                        
< TD >< asp:textbox  id ="tbSubject"  runat ="server" ></ asp:textbox ></ TD >
                        
< TD >< asp:requiredfieldvalidator  id ="RequiredFieldValidator3"  runat ="server"  Width ="160px"  ControlToValidate ="tbSubject"  ErrorMessage ="邮件主题不能为空!"  Height ="26px" ></ asp:requiredfieldvalidator ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 122px" > 邮件服务器: </ TD >
                        
< TD >< asp:textbox  id ="tbServer"  runat ="server" ></ asp:textbox ></ TD >
                        
< TD ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 122px" > 邮件用户名称: </ TD >
                        
< TD >< asp:textbox  id ="tbUserName"  runat ="server" ></ asp:textbox ></ TD >
                        
< TD >< asp:requiredfieldvalidator  id ="RequiredFieldValidator5"  runat ="server"  ControlToValidate ="tbUserName"  ErrorMessage ="用户名不能为空!" ></ asp:requiredfieldvalidator ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 122px" > 密码: </ TD >
                        
< TD >< asp:textbox  id ="tbPass"  runat ="server"  TextMode ="Password" ></ asp:textbox ></ TD >
                        
< TD >< asp:requiredfieldvalidator  id ="RequiredFieldValidator6"  runat ="server"  ControlToValidate ="tbPass"  ErrorMessage ="密码不能为空!" ></ asp:requiredfieldvalidator ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 122px" >< FONT  face ="宋体" > 优先级:
                                
< asp:dropdownlist  id ="ddlp"  runat ="server" >
                                    
< asp:ListItem  Value ="高" > </ asp:ListItem >
                                    
< asp:ListItem  Value ="低" > </ asp:ListItem >
                                    
< asp:ListItem  Value ="普通" > 普通 </ asp:ListItem >
                                
</ asp:dropdownlist ></ FONT ></ TD >
                        
< TD >< FONT  face ="宋体" > 邮件格式:
                                
< asp:dropdownlist  id ="ddlB"  runat ="server" >
                                    
< asp:ListItem  Value ="Text" > Text </ asp:ListItem >
                                    
< asp:ListItem  Value ="Html" > Html </ asp:ListItem >
                                
</ asp:dropdownlist ></ FONT ></ TD >
                        
< TD ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 122px" > 邮件附件: </ TD >
                        
< TD  colSpan ="2" >< INPUT  id ="FileSelect"  style ="WIDTH: 282px; HEIGHT: 22px"  type ="file"  size ="27"  name ="File1"  runat ="server" ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 178px"  colSpan ="3" >< FONT  face ="宋体" > 邮件内容: </ FONT ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 178px"  colSpan ="3" >< FONT  face ="宋体" >< asp:textbox  id ="tbBody"  runat ="server"  Width ="594px"  Height ="167px"  TextMode ="MultiLine" ></ asp:textbox ></ FONT ></ TD >
                    
</ TR >
                    
< TR >
                        
< TD  style ="WIDTH: 235px"  colSpan ="3" >< asp:button  id ="btnSubmit"  runat ="server"  Text ="发送" ></ asp:button >< FONT  face ="宋体" ></ FONT ></ TD >
                    
</ TR >
                
</ TABLE >
        
</ form >
        
</ FONT >
    
</ body >
</ HTML >

后台代码:cs
using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  System.Web.Mail;
namespace  MymailSys
{
    
/// <summary>
    
/// WebForm1 的摘要说明。
    
/// </summary>

    public class WebMail : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.TextBox tbBody;
        
protected System.Web.UI.WebControls.DropDownList ddlB;
        
protected System.Web.UI.WebControls.DropDownList ddlp;
        
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
        
protected System.Web.UI.WebControls.TextBox tbSubject;
        
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
        
protected System.Web.UI.WebControls.TextBox tbTo;
        
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
        
protected System.Web.UI.WebControls.TextBox tbFrom;
        
protected System.Web.UI.WebControls.Label Label1;
        
protected System.Web.UI.WebControls.Label lblShowMsg;
        
protected System.Web.UI.WebControls.Label Label2;
        
protected System.Web.UI.HtmlControls.HtmlForm Form1;
        
protected System.Web.UI.WebControls.TextBox tbServer;
        
protected System.Web.UI.WebControls.TextBox tbUserName;
        
protected System.Web.UI.WebControls.TextBox tbPass;
        
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator5;
        
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator6;
        
protected System.Web.UI.WebControls.Button btnSubmit;
        
protected System.Web.UI.HtmlControls.HtmlInputFile FileSelect;
        
protected System.Web.UI.HtmlControls.HtmlForm Form2;
    
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
        }


        
Web 窗体设计器生成的代码

        
private void btnSubmit_Click(object sender, System.EventArgs e)
        
{
            
//SmtpMail.Send("shaozhd@263.net","shaozhd@263.net","Test","Hello");
            MailMessage m = new MailMessage();
            m.From 
= tbFrom.Text;
            m.To 
= tbTo.Text;
            m.Subject 
= tbSubject.Text;
            m.Body 
= tbBody.Text;
            
//优先级
            switch(ddlp.SelectedIndex)
            
{
                
case 0:
                    m.Priority 
= MailPriority.High;
                    
break;
                
case 1:
                    m.Priority 
= MailPriority.Low;
                    
break;
                
default:
                    m.Priority 
= MailPriority.Normal;
                    
break;
            }

            
//格式
            if(ddlp.SelectedIndex==0)
                m.BodyFormat 
= MailFormat.Text;
            
else
                m.BodyFormat 
= MailFormat.Html;
            
//以下设置服务器
            if(tbServer.Text!="")
            
{
                SmtpMail.SmtpServer 
= tbServer.Text;
                
//以下代码适用于Framework1.1以上版本。
//                m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",
//                    "1");    //basic authentication
//                m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",
//                    tbUserName.Text); //set your username here
//                m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",
//                    tbPass.Text);    //set your password here
            }

            
//以下处理附件 
            string strFileName = FileSelect.PostedFile.FileName;
            
if(strFileName!="")
                m.Attachments.Add(
new MailAttachment(strFileName));
            SmtpMail.Send(m);
        }

    }

}



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/22/259692.html,如需转载请自行联系原作者
相关文章
|
Shell 网络安全 C#
一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
591 4
|
缓存 开发框架 .NET
一个功能丰富的 .NET 工具库 XiHan.Framework.Utils
XiHan.Framework.Utils 是一个功能全面的 .NET 工具库,包含字符串处理、集合扩展、加密解密、分布式 ID、文件操作、缓存、线程、国际化等模块。设计上注重高内聚、低耦合,适用于各类 .NET 应用开发。支持 AES 加密、树形结构转换、分页过滤、日志输出等功能,提供简单易用的 API。可通过 NuGet 快速安装,源码开放,采用 MIT 协议。
487 56
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
384 9
|
网络协议 C#
3款.NET开源、功能强大的通讯调试工具,效率提升利器!
3款.NET开源、功能强大的通讯调试工具,效率提升利器!
337 10
|
XML C# 数据格式
一个.NET开源、免费、功能强大的 PDF 处理工具
一个.NET开源、免费、功能强大的 PDF 处理工具
705 8
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
849 5
|
消息中间件 监控 数据可视化
基于.NET开源、功能强大且灵活的工作流引擎框架
基于.NET开源、功能强大且灵活的工作流引擎框架
1087 3
|
XML 开发框架 .NET
.NET 9 中 LINQ 新增功能实操
.NET 9 中 LINQ 新增功能实操
241 0
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
751 0
|
开发框架 JavaScript 前端开发
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!
1429 0