asp.net|web|发邮件
ASP.net发邮件的例程(Language:"C#"; 带EMail地址验证)
--------------------------------------------------------------------------------
<%@ page Language = "C#" debug = "true" Explicit="True" %>
<%@ Import Namespace = "System.Web.Util" %>
<%@ Import Namespace = "System.Web.Mail" %>
<script language = "C#" runat = "server">
public void SendMail (Object Obj, EventArgs E) {
labelSendMailResult.Text = "";
if (Page.IsValid) {
MailMessage mailObj = new MailMessage();
// 设置email的'from'和'to'的地址
mailObj.From = inputMailFrom.Value;
mailObj.To = inputMailTo.Value;
mailObj.Subject = inputMailSubject.Value;
mailObj.Body = textBoxMailBody.Text;
// 可选: 使用html格式的Email
mailObj.BodyFormat = MailFormat.Html;
// 可选: 对邮件进行加密
// mailObj.BodyEncoding = MailFormat.Base64;
// 可选: 设置邮件的优先级别为高
mailObj.Priority = MailPriority.High;
// 可选: 附件
if (inputMailAttachment.PostedFile.ContentLength > 0) {
// 注意这里我们创建了一个MailAttachment对象来附加一个文件到email。
mailObj.Attachments.Add(new MailAttachment(inputMailAttachment.PostedFile.FileName));
}
// 使用SmtpMail对象来发送邮件。
SmtpMail.Send(mailObj);
labelSendMailResult.Text = "邮件发送成功 From: " + inputMailFrom.Value + "; To: " + inputMailTo.Value;
if (inputMailAttachment.PostedFile.ContentLength > 0) {
labelSendMailResult.Text += "<br>该邮件包含附件: " + inputMailAttachment.PostedFile.FileName + ", 附件大小为: " + (inputMailAttachment.PostedFile.ContentLength / 1024).ToString() + " K Byte(s)";
}
}
}
</script>
<html>
<head>
<title>
发送邮件 ASP.NET</title>
</head>
<body>
<div align="center">
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#eeeeee" id="AutoNumber1">
<form id="formMail" method="post" action="" enctype="multipart/form-data" runat="server">
<tr>
<td width="20%" height="24">收件人地址: </td>
<td width="80%" height="24">
<input type="text" id="inputMailTo" name="inputMailTo" runat="server" size="48">
<asp:RequiredFieldValidator
id="RequiredFieldValidatorInputMailTo"
ControlToValidate="inputMailTo"
Display="Static"
EnableClientScript="False"
ErrorMessage="收件人不能为空"
runat="server"/>
<asp:RegularExpressionValidator id="RegularExpressionValidatorInputMailTo"
ControlToValidate="inputMailTo"
ValidationExpression="^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$"
Display="Static"
EnableClientScript="false"
ErrorMessage="收件人邮件地址错误"
runat="server"/>
</td>
</tr>
<tr>
<td width="20%" height="24">发件人地址: </td>
<td width="80%" height="24">
<input type="text" id="inputMailFrom" name="inputMailFrom" runat="server" size="48">
<asp:RequiredFieldValidator
id="RequiredFieldValidatorInputMailFrom"
ControlToValidate="inputMailFrom"
Display="Static"
EnableClientScript="False"
ErrorMessage="发件人不能为空"
runat="server"/>
<asp:RegularExpressionValidator id="RegularExpressionValidatorInputMailFrom"
ControlToValidate="inputMailFrom"
ValidationExpression="^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$"
Display="Static"
EnableClientScript="false"
ErrorMessage="发件人邮件地址错误"
runat="server"/>
</td>
</tr>
<tr>
<td width="20%" height="24">邮件主题: </td>
<td width="80%" height="24">
<input type="text" id="inputMailSubject" name="inputMailSubject" runat="server" size="48">
<asp:RequiredFieldValidator
id="RequiredFieldValidatorInputMailSubject"
ControlToValidate="inputMailSubject"
Display="Static"
EnableClientScript="False"
ErrorMessage="邮件主题不能为空"
runat="server"/>
</td>
</tr>
<tr>
<td width="20%" height="24">邮件内容:
</td>
<td width="80%" height="24">
<asp:TextBox id="textBoxMailBody" name="textBoxMailBody" runat="server" Rows="6" Cols="48" TextMode="MultiLine" />
<asp:RequiredFieldValidator
id="RequiredFieldValidatorTextBoxMailBody"
ControlToValidate="textBoxMailBody"
Display="Static"
EnableClientScript="False"
ErrorMessage="邮件内容不能为空"
runat="server"/>
</td>
</tr>
<tr>
<td width="20%" height="24">邮件附件:
</td>
<td width="80%" height="24">
<input type="file" id="inputMailAttachment" name="inputMailAttachment" runat="server" size="48">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" value="Send Mail" OnServerClick="SendMail" id="buttonSendMail" name="buttonSendMail" runat="server">
</td>
</tr>
<tr>
<td colspan="2" align="center" height="24">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Label id="labelSendMailResult" runat="server" text="" font-bold="True" forecolor="#FF0000"/>
</td>
</tr>
</form>
</table>
</div>
</body>
</html>