前台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>");
    }