ASP.net实现邮件发送
进入信息化时代,网络已经遍及到生活的方方面面,网络教育,网络培训,网络工程等等,各各行业,都应运而生,为网络市场增加活力。
网络信息化的来到,为我们的生活提供了方便,以前交流用书信,现在我们有电脑,电话,电子邮件,
说到电子邮件,青鸟的课程体系里面有Exchange企业邮件系统,这套系统能够为提供邮件服务,实现内部及外部的邮件转发操作,同时可以利用自己的公司域名后缀,提升公司品牌,创造更多的市场价
值,它的管理方式有两种,至于它的好处,就不多说了,了解一下我们用的邮件系统
我们平时用得最多的就是163的邮箱或是腾讯的邮箱等等,因为它们都免费,受到了大家的喜欢
说到这里,我们了解到,邮箱系统 ,我们可以通过Exchange来建立起自己的来,为了方便我们可以把帐户建立到本地的Outlook中直接收发电子邮件而不用通过网页登录才能够收发
那么这都是微软或是一些第三方的软件来支撑起来的这样的一个环境,如何让我们自己来实现这样的一个功能呢
下面就是一个小小的邮件发布系统
前台代码如下:
default.aspx前台:
<body>
<form id="form1" runat="server">
<div>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="776">
<tr>
<td>
<table align="center" border="0" cellpadding="4" cellspacing="1" width="600" bgcolor="#cccccc">
<tr>
<td colspan="2" bgcolor="#f0f0f0" align="center">电子邮件发送程序</td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right" width="150">发送人:</td>
<td bgcolor="#ffffff" align="left"><asp:TextBox ID="fromMail" runat="server" Width="300" /></td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right">收件人:</td>
<td bgcolor="#ffffff" align="left"><asp:TextBox ID="toMail" runat="server" Width="300" /></td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right">抄送人:</td>
<td bgcolor="#ffffff" align="left"><asp:TextBox ID="ccMail" runat="server" Width="300" /></td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right">暗送人:</td>
<td bgcolor="#ffffff" align="left"><asp:TextBox ID="bccMail" runat="server" Width="300" /></td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right">主 题:</td>
<td bgcolor="#ffffff" align="left"><asp:TextBox ID="subject" runat="server" Width="300" /></td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right">附 件:</td>
<td bgcolor="#ffffff" align="left"><input type="file" id="upfile" runat="server" /></td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right">内 容:</td>
<td bgcolor="#ffffff" align="left"><asp:TextBox ID="body" TextMode="multiLine" runat="server" Width="300" Height="200" /></td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right">格 式:</td>
<td bgcolor="#ffffff" align="left"><asp:RadioButtonList ID="format" runat="server"/></td>
</tr>
<tr>
<td bgcolor="#f0f0f0" colspan="2" align="center">
<asp:Button ID="send" runat="server" Text="发送" OnClick="send_Click" />
<asp:Button ID="reset" runat="server" Text="重置" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
</body>
default.aspx.cs后台代码:
using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.Util;
using System.Web.Mail;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
format.Items.Add(new ListItem("文本", "0"));
format.Items.Add(new ListItem("HTML", "1"));
format.Items[0].Selected = true;
fromMail.Text = "peng_wuyan@163.com"; //发送方邮件
fromMail.Enabled = false;
}
}
private bool SendMail(string fromMail, string toMail, string ccMail, string bccMail, string subject, string body, string sendMode)
{
try
{
MailMessage myMail = new MailMessage();
myMail.From = fromMail;
myMail.To = toMail;
myMail.Cc = ccMail;
myMail.Bcc = bccMail;
myMail.Subject = subject;
myMail.Body = body;
myMail.BodyFormat = sendMode == "0" ? MailFormat.Text : MailFormat.Html;
//附件
string ServerFileName = "";
if (this.upfile.PostedFile.ContentLength != 0)
{
string upFileName = this.upfile.PostedFile.FileName;
string[] strTemp = upFileName.Split('.');
string upFileExp = strTemp[strTemp.Length - 1].ToString();
ServerFileName = Server.MapPath(DateTime.Now.ToString("yyyyMMddhhmmss") + "." + upFileExp);
this.upfile.PostedFile.SaveAs(ServerFileName);
myMail.Attachments.Add(new MailAttachment(ServerFileName));
}
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1);
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "*******E-mail_Address******"); //发送方邮件帐户
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "*******PassWord********"); //发送方邮件密码
SmtpMail.SmtpServer = "smtp." + fromMail.Substring(fromMail.IndexOf("@") + 1);
SmtpMail.Send(myMail);
return true;
}
catch
{
return false;
}
}
protected void send_Click(object obj, EventArgs e)
{
bool flag = SendMail(fromMail.Text, toMail.Text, ccMail.Text, bccMail.Text, subject.Text, body.Text, format.SelectedValue);
if (flag == true)
{
Response.Write("<script>alert('发送成功!');</script>");
}
else
{
Response.Write("<script>alert('发送失败!');</script>");
}
}
}