【问题标题】:ASP.NET - Send input data as plain text emailASP.NET - 将输入数据作为纯文本电子邮件发送
【发布时间】:2012-04-26 07:10:44
【问题描述】:

我有一个 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>

【问题讨论】:

  • 请提供 aspx 页面标记,显示您的控件是如何展开的。无论是在网格中还是在表格中......类似的东西......

标签: asp.net email


【解决方案1】:

这是一个 c# sn-p,用于从您的代码隐藏文件中发送电子邮件:

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); 尝试 { 客户端.发送(邮件); 返回真; } 捕捉(异常){ 返回假; } }

祝你好运;)

【讨论】:

    【解决方案2】:

    您可以使用以下代码从您的 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;
        }
    
    }
    

    希望这对你有所帮助……祝你编码愉快……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-23
      • 2013-07-26
      • 1970-01-01
      • 2010-11-10
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      相关资源
      最近更新 更多