簡體   English   中英

是否可以在 email 正文中發送一個 aspx 頁面?

[英]Is it possible to send an aspx page in email body?

<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>

這些圖像是在運行時決定的,無論如何將它嵌入到 email 主體中

請幫忙

如果您只想要 email 中的那部分標記,則將其放在用戶控件 (myEmailControl.ascx) 中。 然后,您可以從發送 email 的腳本調用控件上的 Render() 並攔截控件的 html output。 然后你可以將 html 放入 email 主體中。 (您的圖片還需要絕對網址,以便它們顯示在 email 中,但我相信您已經想到了)

發送 email 的頁面/處理程序:

    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();

您可以從頁面下載呈現的 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中發送 html 的內容。

您最好的選擇可能是將 output 圖像作為 HTML 中的 Base 64。

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

在后面的代碼中,獲取圖像,將其轉換為 Base 64 並將其打印為 src!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM