前台table代码:
<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" style="width: 73px">
发送人:
</td>
<td bgcolor="#ffffff" align="left">
<asp:textbox id="fromMail" runat="server" width="300" />
</td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right" style="width: 73px; height: 32px">
收件人:
</td>
<td bgcolor="#ffffff" align="left" style="height: 32px">
<asp:textbox id="toMail" runat="server" width="300" />
</td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right" style="width: 73px">
主 题:
</td>
<td bgcolor="#ffffff" align="left">
<asp:textbox id="subject" runat="server" width="300" />
</td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right" style="width: 73px">
附 件:
</td>
<td bgcolor="#ffffff" align="left">
<input type="file" id="upfile" runat="server" style="width: 297px" />
</td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right" style="width: 73px">
内 容:
</td>
<td bgcolor="#ffffff" align="left">
<asp:textbox id="body" textmode="multiLine" runat="server" width="500px" height="200" />
</td>
</tr>
<tr>
<td bgcolor="#f0f0f0" align="right" style="width: 73px">
格 式:
</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>
后台代码:
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 = "276933893@qq.com"; //发送方邮件
fromMail.Enabled = false;
}
}
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="EmailName">发送者邮件用户名</param>
/// <param name="EmailPwd">发送者密码</param>
/// <returns></returns>
public bool SendMail(string EmailName, string EmailPwd,string host)
{
MailMessage myEmail = new MailMessage();
myEmail.From = new MailAddress(fromMail.Text.Trim());
myEmail.To.Add(host);
myEmail.Subject = subject.Text.Trim();
myEmail.IsBodyHtml = format.SelectedItem.Value == "0" ? false : true;
//附件(注意:这是上传到本地服务器上,如果是单纯的发送邮件的话可以不要!s)
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();
if (!string.IsNullOrEmpty(upFileExp))
ServerFileName = Server.MapPath("upload/" + DateTime.Now.ToString("yyyy-MM-dd HHmmss") + "." + upFileExp);
if (!string.IsNullOrEmpty(ServerFileName))
{
this.upfile.PostedFile.SaveAs(ServerFileName);
myEmail.Attachments.Add(new Attachment(ServerFileName));
}
}
//附件
myEmail.Body = body.Text.Trim();
myEmail.BodyEncoding = System.Text.Encoding.UTF8;
myEmail.Priority = MailPriority.High;
SmtpClient smtp = new SmtpClient();
smtp.Credentials = new System.Net.NetworkCredential(EmailName, EmailPwd);
smtp.Port = 25;
smtp.Host = host;
try
{
smtp.Send(myEmail);
}
catch (Exception)
{
System.IO.File.Delete(ServerFileName);
throw;
}
return true;
}
//发送邮件按钮
protected void send_Click(object obj, EventArgs e)
{
string host = this.toMail.Text.Trim();
int index = host.IndexOf("@");
string str = host.Substring(index,host.Length-1);
if (str.StartsWith("qq"))
host = "smtp.qq";
else if (str.StartsWith("sina"))
host = "smtp.sina";
else if (str.StartsWith("163"))
host = "smtp.163";
host += ".com";
bool flag = SendMail("276933893@qq.com", "MAKELOVE", host);
if (flag == true)
Response.Write("<script type='text/javascript'> alert('发送成功!');</script>");
else
Response.Write("<script type='text/javascript'> alert('发送失败!');</script>");
}