2012-04-05 8 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ページを送ることはできますか?

でそれを埋め込むのがありますが、ページからレンダリングされたHTMLをダウンロードし、それを送ることができ

+1

わからない:電子メールを送信し

ページ/ハンドラ(彼らは電子メールに表示されるようにあなたのイメージも絶対URLが必要になりますが、私はあなたがすでにそのことを考えてきた確信しています)何を求めているのですか?電子メール内のASPXページ(添付ファイル)は絶対URLなしで何かを資産に参照することさえできますか? –

+0

私はaspxのページを電子メールで送ることは可能だと思います。ページのhtmlを送信しながら、[Template Engine](http://www.stringtemplate.org/)を使って画像のsrcを変更するのはどうですか? – Code0987

答えて

6

電子メール内のマークアップの部分だけが必要な場合は、それをユーザーコントロール(myEmailControl.ascx)内に配置します。その後、電子メールを送信し、コントロールのhtml出力をインターセプトするスクリプトから、コントロールのRender()を呼び出すことができます。次に、そのhtmlをメール本体に入れることができます。

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

+0

ええ、私はそれを試みたが、私はラベルで値を取得していないよ私はそれをどのように行うのですか? – vini

+0

通常のaspxページにコントロールを追加して、レンダリングされた出力をチェックしましたか?コントロールがページ上にある場合やRenderControlメソッドでレンダリングされた場合も同じ出力が得られますが、コントロールがページ上にある場合はコードをステップ実行する方が簡単です。 それでも問題が解決しない場合は、ラベル値を入力するコードを投稿してください。 – mafue

3

を助けてください:

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

+0

私はこのコードを試しましたが、私はメール本体の画像を見ることができません。それは平文を返しています。@カイルはあなたがウルの最後でそれを試しましたか? – Pankaj

+0

@Pankajいいえ、私はこれをテストしませんでした。あなたはプレーンテキストを取得しています。これはまさにhtmlと同じですから。電子メールの送信に使用しているコードを投稿できますか?あなたのメッセージにhtmlを有効にしてください。 –

0

おそらく、HTMLのベース64として画像を出力することです。

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

コードの背後に、画像を取得して、Base 64に変換し、代わりにsrcとして印刷してください!

関連する問題