2009-07-06 19 views
1

私は、GridViewと、いくつかの画像(Googleチャート - pngs)を含むAsp.Netページを持っています。 私のページの内容をメールする必要があります。どうやってやるの?グリッドは電子メール本文のhtmlテーブルにすることもできますし、全体を画像にすることもできます。それは問題ではありません。
ご協力いただきありがとうございます。ASP.Net - ページの内容を含む電子メールを送信

答えて

0

は、過去に私が(コンソールアプリケーションで)ASP.NETの外のファイルにGridViewコントロールをレンダリングするためにGridView.RenderControlを使用しましたん

Here's a .NET library 。これは調査する価値があるかもしれません。

編集 - このテクニックを使用している誰かとブログ投稿を見つけることができました。this may help you

これが画像に適しているかどうかは、画像を生成するために何をしているかによって異なります。恐らくそれらはおそらくHttpHandlerを使って動的に生成されるか、コントロールから生成されるでしょうか?

+0

こんにちはリチャード、あなたの答えをありがとう。幸運にも私の場合、私はGoogleのチャートの画像であるので、私は画像のURLを持っています。私は最も難しい部分がグリッドだと思います。私はあなたの提案を調査します。再度、感謝します! –

+0

オリヴィエの答えも正しいが、リチャードは簡単であり、仕事をきれいに行う。ありがとう! –

2

URLを単一のMHTファイル(画像、スタイルシートなどを埋め込む)に変換し、そのファイルを電子メールに添付するライブラリを使用できます。仕事(そしてそれはジェフアトウッドで書かれています^^)

+0

ありがとうOlivier!私はあなたの提案をできるだけ早く調査します。 –

1
using System; 
using System.Data; 
using System.Configuration; 
using System.Collections; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls. 
WebParts; 
using System.Web.UI.HtmlControls; 
using System.Net.Mail; 

public partial class Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
//Calling the function SendMail 
    Response.Write(SendMail(" 
[email protected] "," 
[email protected]"," 
[email protected] ","Test Mail","Test Mail Body")); 
    } 

    public string SendMail(string toList, string from, string ccList, string subject, string body) 
    { 
     MailMessage message = new MailMessage(); 
     SmtpClient smtpClient = new SmtpClient(); 
     string msg = string.Empty; 
     try 
     { 
      MailAddress fromAddress = new MailAddress(from); 
      message.From = fromAddress; 
      message.To.Add(toList); 
      if (ccList != null && ccList != string.Empty) 
       message.CC.Add(ccList); 
      message.Subject = subject; 
      message.IsBodyHtml = true; 
      message.Body = body; 
      smtpClient.Host = "mail.server.com"; 
      smtpClient.Port = 25; 
      smtpClient.UseDefaultCredentials = true; 
      smtpClient.Credentials = new System.Net.NetworkCredential("[email protected] ","password");   

      smtpClient.Send(message); 
      msg = "Successful"; 
     } 
     catch (Exception ex) 
     { 
      msg = ex.Message; 
     } 
     return msg; 
    } 

} 
関連する問題