2012-04-05 54 views
0
<div class="popup-holder"> 
      <div class="popup-frame"> 
       <div class="container"> 
        <div class="mail-block"> 
         <div class="mail-holder"> 
          <strong class="mail-logo"><a href="#">abc website</a></strong> 
          <div class="mail-page"> 
           <div class="mail-page-holder"> 
            <div class="mail-page-frame"> 
             <p>Hello &lt;<asp:Label ID="lblfriend" runat="server" Text="Label"></asp:Label>>!,</p> 
             <p>Great News!  &lt;One of your FB Friends/<asp:Label ID="lblmyname" runat="server" Text="Label"></asp:Label>>  has invited you to BlissLink.</p> 
             <p>(<asp:Label ID="lblmyname1" runat="server" Text="Label"></asp:Label>) says:  &lt;<asp:Label 
              ID="lblmess" runat="server" Text="abc is fun ,"></asp:Label>><br /><br /></p> 
             <p></p> 
             <ul class="f-list"> 
              <li> 
               <asp:Image ID="Image3" runat="server" width="48" height="48" /> 
               <strong class="title"><span><asp:Label ID="Label2" runat="server" ></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image4" runat="server" width="48" height="48" /> 
               <strong class="title"><span> 
                <asp:Label ID="Label3" runat="server" ></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image5" runat="server" width="48" height="48" /> 
               <strong class="title"><span><asp:Label ID="Label4" runat="server" ></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image6" runat="server" width="48" height="48" /> 
               <strong class="title"><span><asp:Label ID="Label5" runat="server" ></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image7" runat="server" width="48" height="48" /> 
               <strong class="title"><span> <asp:Label ID="Label6" runat="server"></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image8" runat="server" width="48" height="48" /> 
               <strong class="title"><span> <asp:Label ID="Label7" runat="server" ></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image9" runat="server" width="48" height="48" /> 
               <strong class="title"><span><asp:Label ID="Label8" runat="server" ></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image10" runat="server" width="48" height="48" /> 
               <strong class="title"><span> <asp:Label ID="Label9" runat="server" ></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image11" runat="server" width="48" height="48" /> 
               <strong class="title"><span><asp:Label ID="Label10" runat="server" ></asp:Label></span></strong> 
              </li> 
              <li> 
               <asp:Image ID="Image12" runat="server" width="48" height="48" /> 
               <strong class="title"><span><asp:Label ID="Label11" runat="server" ></asp:Label></span></strong> 
              </li> 
             </ul> 
             <asp:Button ID="Button6" runat="server" Text="Expand Your Network" CssClass="btn" /> 
             <span class="bot-text">Cheers,<br />Your abc Team</span> 
            </div> 
           </div> 
          </div> 
          <span class="un">If you have no more interest in receiving our news, <a href="#">unsubscribe.</a></span> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 

这些图像是在运行时决定是在电子邮件正文中嵌入它的存在反正是否可以在电子邮件正文中发送aspx页面?

请帮助

+1

不知道你在问什么。电子邮件中的ASPX页面(作为附件)如何甚至能够引用任何没有绝对URL的资源? – 2012-04-05 18:27:59

+0

我不这么认为这是可能的,并且是一个好的东西给aspx页面发送电子邮件,如何使用[Template Engine](http://www.stringtemplate.org/)在发送页面html的同时更改图像的src。 – Code0987 2012-04-05 18:31:38

回答

6

如果您只想在电子邮件中标记的那部分,然后将其放入用户控件(myEmailControl.ascx)中。然后,您可以从发送电子邮件的脚本的控件调用Render(),并拦截控件的html输出。然后你可以把这个html放到电子邮件正文中。 (您的图片也需要绝对的URL,让他们在电子邮件中显示出来,但我敢肯定你已经想到这一点)

页/处理器发送电子邮件:

StringBuilder htmlResponse = new StringBuilder(); 
    using (StringWriter sw = new StringWriter(htmlResponse)) 
    { 
     using (HtmlTextWriter textWriter = new HtmlTextWriter(sw)) 
     { 
      Control emailBody = Page.LoadControl("myEmailControl.ascx"); 
      emailBody.RenderControl(textWriter); 
     } 
    } 
    string emailHtml = htmlResponse.ToString(); 
+0

张贴的最佳方法! – citronas 2012-04-05 19:23:50

+0

是的,我试过,但我没有得到标签中的值我该怎么做? – vini 2012-04-06 11:51:40

+0

您是否尝试将控件添加到常规aspx页面并检查呈现的输出?如果控件位于页面上或由RenderControl方法呈现,您将获得相同的输出,但是当控件位于页面上时,更容易单步执行代码。 如果仍然无效,请发布您用于填充标签值的代码。 – mafue 2012-04-06 16:54:53

3

你可以从你的页面下载所提供的HTML和发送:

WebRequest request = WebRequest.Create("http://server.com/path/to/page.aspx"); 
WebResponse response = request.GetResponse(); 

StringReader reader = new StringReader(response.GetResponseStream()); 

string html = reader.ReadToEnd(); 

现在您可以发送电子邮件中的html的内容。

+1

我相信图片的链接不会起作用。 – Alexandre 2012-04-05 18:31:37

+0

我试过这段代码,我无法看到邮件正文中的图像。它正在返回纯文本。@凯尔你在最后尝试过吗? – Pankaj 2012-04-05 18:32:57

+0

@Pankaj不,我没有测试这个。你会得到纯文本,因为这正是html的内容。你能发布你用来发送电子邮件的代码吗?确保您在消息中启用了html。 – 2012-04-05 18:38:16

0

最好的办法是将图像作为HTML中的Base 64输出。

<img src="data:image/png;base64,iVBrkJggg==" alt="Base 64 encoded!" /> 

在后面的代码,获取图像,将其转换为一个基地64和打印,作为SRC,而不是!

相关问题