ASP.NET(Web网站开发),简单邮件发送的制作
1.打开vs2010、新建网站,在资源管理器项目名称上单击右键->添加新项->Web窗体,下面进行设计
2.具体界面如下:
3.在菜单中选中表格->添加表格:8行2列
第一行:合并单元格,标题属性是:在线发送邮件
第二行的第一列value为收件人,第二列在工具箱的HTML中拉取一个TextBox控件id是tomail,TextBox控件后面在HTML中拉取加入一个RequiredFieldValidator控件(value属性是*)和RegularExpressionValidator控件(value属性是格式错误,ValidationExpression属性是Internet电子邮件地址),她们的ControlToValidate属性都设置为tomail,
第三行的第一列value为发件人,第二列在工具箱的HTML中拉取一个TextBox控件id是frommail,TextBox控件后面在HTML中拉取加入一个RequiredFieldValidator控件(value属性是*)和RegularExpressionValidator控件(value属性是格式错误,ValidationExpression属性是Internet电子邮件地址),她们的ControlToValidate属性都设置为frommail
第四行:第一列的value属性是主题,后面在工具箱HTML中拉取一个TextBox控件第五行:第一列的value属性是正文,后面在工具箱HTML中拉取一个TextBox控件TextMode属性是MultiPle
第六行:第一列的value值是添加附件。选中添加附件这几个字,打开菜单栏中的->格式(o)->转化为超链接,添加一个发送按钮和一个label控件,其中浏览按钮是添加代码新生成的(打开界面下面的源视图,在<head></head>中添加:
<script language="Javascript">
function addfile() {
var str = '<br><INPUT type="file" size="25" NAME="File">‘
document.getElementById('myfile').insertAdjacentHTML("beforeEnd", str)
}
</script>
可以生成浏览按钮)
4.为了引入邮件系统,在源视图中加入以下代码
<%@ Import Namespace="System.Net.Mail" %>
<%@ Import Namespace="System.IO" %>
5.点住添加邮件,打开源视图,修改代码设计
<a href="http://Javascript" onclick="addfile()">添加附件:</a><INPUT type="file" size="25" NAME="File"> <asp:Button
ID="Button1" runat="server" onclick="Button1_Click" Text="发送" />
5.在界面中双击空白区域,添加以下代码:
using System.Net.Mail;
using System.IO;
6.打开界面设计,双击发送按钮为发送按钮添加代码:
protected void Button1_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
try
{//创建邮件对象
MailMessage mm = new MailMessage(frommail.Text,tomail.Text);
mm.Subject = title.Text;
mm.Body = body.Text;
//为邮件添加附件
for (int i = 0; i < Request.Files.Count; i++)
{
if (Request.Files[0].ContentLength > 0)
{
mm.Attachments.Add(new Attachment(Request.Files[i].InputStream,Path.GetFileName(Request.Files[i].FileName)));
}
}
//使用SMTP服务器主机名与端口号创建SmtpClient对象
SmtpClient sc = new SmtpClient("smtp.tom.com",25);
//对需要身份的SMTP服务提供认证信息
sc.Credentials = new System.Net.NetworkCredential("hrm007","此入为自己的密码");
sc.Send(mm);
Label1.Text = "发送成功";
}
catch (System.Exception ex)
{
Label1.Text = "发送失败" + ex.Message;
}
}
}