2009-05-15 2 views
3

Я использую элемент управления диаграммой asp.net, и я доволен им. Мой клиент теперь спрашивает меня, могу ли я добавить кнопку электронной почты на мою веб-страницу, чтобы отправить электронное письмо с диаграммой, включенной в нее. Любые идеи, как я могу это сделать? Благодарю.Управление диаграммой ASP.NET (отправка EMail со встроенным графическим контрольным изображением)

ответ

0

Вы можете сохранить данные диаграммы и создать ссылку на страницу, которая будет загружать данные, или вы можете получить HTML-код, который создал страницу, и загрузить ее в электронное письмо. Не каждый пользователь просматривает HTML-сообщения, поэтому может быть безопаснее отправить им ссылку на страницу, которая может отображать данные.

2

Компонент диаграммы фактически генерирует изображение при запросе графика. Затем он либо сохраняет это изображение в файловой системе, либо просто удерживает его в памяти. Эта часть настраивается.

Вы можете создать диаграмму, а затем взять с нее ссылку на файл. Оттуда у вас есть два выбора. Либо укажите, что ваш адрес электронной почты ссылается на файл по ссылке на URL или встраивает его в собственно адрес электронной почты. Это также настраивается почтовым клиентом.

2

Вы можете сохранить изображение где-то и загрузить его и вставлять в почту следующим образом:

 private void SendMail() 
     { 
      //Your mail body is created with help of a StringBuilder which will contain the img tag: 
      //Suppose the mailContent is the StringBuilder object and has the html body etc already appended.... 
      //you would need to append something like following: 

      //mailContent.Append("<td><img src=\"cid:IMAGE_ID\"></td>"); 
      //string body = mailContent.ToString(); 


      string smtpServer = "mailhost.my.domain.net"; 
      string emailFrom = "[email protected]"; 
      string emailTo = "[email protected]"; 


      MailMessage msg = new MailMessage(emailFrom, emailTo, "TestMail...", body); 

      msg.IsBodyHtml = true; 

      //Adding attachments by loading from file 
      Attachment item = new Attachment("Images/Logo.JPG"); 
      item.ContentDisposition.Inline = true; 
      item.ContentDisposition.DispositionType = DispositionTypeNames.Inline; 
      item.ContentId = "IMAGE_ID"; 
      item.ContentType.MediaType = "image/jpeg"; 
      item.ContentType.Name = "Logo.JPG"; 

      msg.Attachments.Add(item); 

      SmtpClient client = new SmtpClient(smtpServer); 
      client.Send(msg); 

     } 
Смежные вопросы