【问题标题】:Send link with HTML mail body from asp.net C#从 asp.net C# 发送带有 HTML 邮件正文的链接
【发布时间】:2011-05-05 06:40:42
【问题描述】:

我有一个应用程序,我需要在其中发送一封包含 HTML 正文的电子邮件。与该正文一起应该有一个链接“单击此处确认您的选择”。一旦用户单击此链接,他/她应该从他的电子邮件被定向到新选项卡中的新页面。我想提供本地主机上的页面链接。这意味着当用户单击链接时,链接处的页面将触发一个查询,该查询将进入我的数据库,并将向用户显示适当的消息。 请指导我如何发送带有 HTML 消息正文的页面链接?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    只需在您的 html 中添加一个hyperlink(或“锚标记”) - 有关如何发送 html 电子邮件的详细信息,请参见 here

    【讨论】:

      【解决方案2】:

      在邮件正文中添加带有适当查询字符串(用户选择)的超链接。从该查询字符串中,您可以跟踪用户选择的选项并显示适当的消息。

      例如http://www.mywebapp.com?useropt=1

      【讨论】:

        【解决方案3】:

        创建一个类:

        private void SendMail(string To, string Body)
        {
            SmtpClient Mailing = new SmtpClient("mail.domain.com");
            MailMessage Message = new MailMessage();
        
            Message.From = new MailAddress("mail@domain.com", "Your name or company name");
        
            Message.Subject = "Subject";
            Message.SubjectEncoding = Encoding.UTF8;
        
            Message.IsBodyHtml = true;
            Message.BodyEncoding = Encoding.UTF8;
            Message.Body = Body;
        
            Message.To.Add(new MailAddress(To));
        
            Mailing.UseDefaultCredentials = false;
            NetworkCredential MyCredential = new NetworkCredential("mail@domain.com", "password");
            Mailing.Credentials = MyCredential;
        
            Mailing.Send(Message);
        }
        

        然后当您触发发送按钮时传递此代码:

        StreamReader sr = new StreamReader(Server.MapPath("Sendpage.htm"));        
                string body = sr.ReadToEnd();
                sr.Close();
        
                body = body.Replace("#NameFamily#", txtNameFamily.Text);
                body = body.Replace("#Email#", txtEmail.Text);
                body = body.Replace("#Tellphone#", txtTellphone.Text);
                body = body.Replace("#Text#", txtText.Text);
                body = body.Replace("#Date#", DateTime.Now);
                string Time = Convert.ToString(DateTime.Now.ToShortTimeString());
                body = body.Replace("#Time#", Time);
        
                SendMail("email that you want to send to it", body);
        

        这是你的 html 正文代码:

        <body>
            <p>
                <br />
            </p>
         <table style="height: 193px; width: 549px">
                <tr>
                    <td class="style1">
                        &nbsp;</td>
                </tr>
                <tr>
                    <td style="text-align: right;" class="style4">
                        Name Family : [ <span class="style2">#NameFamily#</span> ] 
                        <br />
                        Email : [ <span class="style2">#Email#</span> ] 
                        <br />
                        Tell: [ <span class="style2">#Tellphone#</span> ] 
                        <br />
                        DSC: [ <span class="style2">#Text#</span> ] 
                        <br />
                        Date: [ <span class="style2">#Date#</span> ] 
                        <br />
                        Time: [ <span class="style2">#Time#</span> ] 
                        <br />
                        <br />
                        </td>
                </tr>
                <tr>
                    <td style="direction: ltr">
                        &nbsp;</td>
                </tr>
            </table>
        
        </body>
        

        【讨论】:

          猜你喜欢
          • 2018-11-21
          • 2011-12-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-10
          • 1970-01-01
          • 2016-01-08
          相关资源
          最近更新 更多