1

我有一个 aspx 表单,里面有一堆文本框、下拉列表、复选框。当此输入控件充满必要的数据时,我想将此信息作为电子邮件发送。假设我有一个包含申请人姓名的文本框,一个列出职业的下拉列表等等。所以我希望电子邮件包含相同的信息,如

 Name:Anthony Brian 
 Occupation: Surgeon
 ......

我该怎么做?

编辑:如果有人感兴趣,这是aspx:

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="WriteMail.aspx.cs"     
 Inherits="WriteMail" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0        
 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
 <title></title>
 <style type="text/css">
    .style2
    {
        width: 203px;
    }
    .style3
    {
        width: 226px;
    }
    .style4
    {
    }
    .style6
    {
        width: 198px;
    }
    .style7
    {
        width: 204px;
    }
    </style>
    </head>
    <body>
   <form id="form1" runat="server">
   <div align="center" style="font-weight: bold; font-family: tahoma; font-size: 12px;
    margin-bottom: 10px;">
    Hörmətli istifadəçi!</div>
   <div align="center" style="font-family: tahoma; font-size: 12px;margin-bottom:   
   30px;">
    <span class="style2"><span class="style10">Azərbaycan Respublikası Dövlət Sosial  
   Müdafiə
        Fonduna məktub göndərmək ücün aşağıdakı formanı doldurun.(* - vacib sahələr)  
   </span></span></div>
  <div id="main">
    <table>
        <tr>
            <td class="style6">
                &nbsp;Adınız* :</td>
            <td class="style7">
                Soyadınız* :</td>
            <td class="style3">
                &nbsp;Atanızın adı*</td>
        </tr>

        <tr>
            <td class="style6">
                <asp:TextBox ID="TextBox2" runat="server" Width="182px"></asp:TextBox>
            </td>
            <td class="style7">
              &nbsp;<asp:TextBox ID="TextBox3" runat="server" Width="182px"></asp:TextBox>
            </td>
            <td class="style3">
                &nbsp;<asp:TextBox ID="TextBox4" runat="server" Width="182px"></asp:TextBox>
            </td>
        </tr>

        <tr>
            <td class="style6">
                &nbsp;</td>
            <td class="style7">
                &nbsp;</td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                &nbsp;Ölkə*:&nbsp;</td>
            <td class="style7">
              &nbsp;Şəhər*:&nbsp;</td>
            <td class="style3">
                &nbsp;&nbsp; &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                <asp:TextBox ID="TextBox5" runat="server" Width="182px"></asp:TextBox>
            </td>
            <td class="style7">
                <asp:TextBox ID="TextBox6" runat="server" Width="182px"></asp:TextBox>
            </td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                &nbsp;</td>
            <td class="style7">
                &nbsp;</td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                &nbsp;Ünvan*:</td>
            <td class="style7">
                &nbsp;</td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style4" colspan="3">
                <asp:TextBox ID="TextBox7" runat="server" Width="602px"></asp:TextBox>
            </td>
        </tr>

        <tr>
            <td class="style6">
                &nbsp;</td>
            <td class="style7">
                &nbsp;</td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                Telefon kodu və nömrəsi*:</td>
            <td class="style7">
                Email*:</td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                <asp:TextBox ID="TextBox8" runat="server" Width="182px"></asp:TextBox>
            </td>
            <td class="style7">
                <asp:TextBox ID="TextBox9" runat="server" Width="182px"></asp:TextBox>
            </td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                &nbsp;</td>
            <td class="style7">
                &nbsp;</td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                Yaşınız*:</td>
            <td class="style7">
                Cinsiniz*:</td>
            <td class="style3">
                &nbsp;</td>
        </tr>

        <tr>
            <td class="style6">
                <asp:TextBox ID="TextBox10" runat="server" Width="66px"></asp:TextBox>
            </td>
            <td class="style7">
                <asp:CheckBoxList ID="CheckBoxList1" runat="server" 
                    RepeatDirection="Horizontal">
                    <asp:ListItem Value="1">Kişi</asp:ListItem>
                    <asp:ListItem Value="2">Qadın</asp:ListItem>
                </asp:CheckBoxList>
            </td>
            <td class="style3">
                &nbsp;</td>
        </tr>

    </table>
</div>
</form>

4

2 回答 2

2

这是用于从您的代码隐藏文件发送电子邮件的 ac# 片段:

        public bool SendEmail(string to, string subject, string body) {

            // 从 Web.config 获取 SMTP 服务器的主机名
            字符串主机名 = ConfigurationManager.AppSettings["SMTP"];
            // 示例:添加
            // 到 Web.config 的部分
            字符串用户 = ConfigurationManager.AppSettings["SMTP_user"];
            字符串 pwd = ConfigurationManager.AppSettings["SMTP_pwd"];

            MailMessage 邮件 = 新的 MailMessage();
            mail.From = new MailAddress("your@email.com", "Name");
            mail.To.Add(to);
            mail.Subject = 主题;
            邮件.正文 = 正文;
            邮件.IsBodyHtml = 假;
            SmtpClient 客户端 = 新 SmtpClient(主机名);
            client.Credentials = new System.Net.NetworkCredential(user,pwd);
            尝试 {
                客户端.发送(邮件);
                返回真;
            } 捕捉(异常){
                返回假;
            }

        }

祝你好运;)

于 2012-04-26T07:15:24.130 回答
1

您可以使用下面的代码从您的 aspx 页面获取详细信息并将其作为电子邮件正文发送。

public string GetHtmlBody()
{
    String strHTMLBody = String.Empty;


    if (TextBox2.Text.ToString().Trim() != "")
    {
        strHTMLBody = strHTMLBody + "Name : " + TextBox2.Text.ToString().Trim() + "<br/>"; 
    }
    if (TextBox3.Text.ToString().Trim() != "")
    {
        strHTMLBody = strHTMLBody + "Surname : " + TextBox3.Text.ToString().Trim() + "<br/>";
    }
    if (TextBox2.Text.ToString().Trim() != "")
    {
        strHTMLBody = strHTMLBody + "Occupation : " + TextBox4.Text.ToString().Trim();
    }

    // like wise you can get other details in same way in string variable.

    return strHTMLBody;

}
public bool SendEmail(string to, string subject)
{

    // get the hostname of the SMTP server from Web.config
    string hostname = ConfigurationManager.AppSettings["SMTP"];
    // Example: add 
    //          to the  section of Web.config
    string user = ConfigurationManager.AppSettings["SMTP_user"];
    string pwd = ConfigurationManager.AppSettings["SMTP_pwd"];

    MailMessage mail = new MailMessage();
    mail.From = new MailAddress("your@email.com", "Name");
    mail.To.Add(to);
    mail.Subject = subject;
    mail.Body = GetHtmlBody();
    mail.IsBodyHtml = true ;
    SmtpClient client = new SmtpClient(hostname);
    client.Credentials = new System.Net.NetworkCredential(user, pwd);
    try
    {
        client.Send(mail);
        return true;
    }
    catch (Exception)
    {
        return false;
    }

}

希望这会帮助你......快乐的编码......

于 2012-04-26T08:49:57.690 回答