ASP.NET - 将输入数据作为纯文本电子邮件发送

时间:2012-04-26 07:10:45

标签: asp.net email

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

 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>

2 个答案:

答案 0 :(得分:2)

这是一个c#代码段,用于从代码隐藏文件中发送电子邮件:

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

            // 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 = body;
            mail.IsBodyHtml = false;
            SmtpClient client = new SmtpClient(hostname);
            client.Credentials = new System.Net.NetworkCredential(user,pwd);
            try {
                client.Send(mail);
                return true;
            } catch (Exception) {
                return false;
            }

        }

祝你好运;)

答案 1 :(得分: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;
    }

}

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