ASP.NET 实现邮件发送和接受的功能
前台代码:html
后台代码:cs
<%@ 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>
<!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);
}
}
}
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);
}
}
}