E-mail senden mit Anlagen programmgesteuert in ASP.NET

Ich bin dynamisch generieren eine Reihe von verschiedenen Arten von Dateien, basierend auf einem GridView in ASP.NET - eine Excel-Tabelle eine HTML-Datei. Ich Tue dies mit diesem code (dies ist nur für die Excel-Tabelle):

  Response.Clear();
  Response.AddHeader("content-disposition", "attachment;filename=InvoiceSummary" + Request.QueryString["id"] + ".xls");
  Response.Charset = "";

  Response.ContentType = "application/vnd.xls";
  System.IO.StringWriter stringWrite = new System.IO.StringWriter();
  System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
  contents.RenderControl(htmlWrite);
  //GridView1.RenderControl(htmlWrite);
  Response.Write(stringWrite.ToString());
  Response.End();

Möchte ich, um den Benutzern die Optionen der E-Mail-Versand der erzeugten Datei als Anlage entweder eine E-Mail-Adresse, die Sie angeben, oder eine Verbindung mit Ihrem Konto auf die Datenbank. Aber ich will nicht, dass die Benutzer, um die Datei zu speichern, fügen Sie Sie dann in einer form - ich möchte automatisch befestigen Sie die generierte Datei. Ist das möglich und wie einfach ist es?

Natürlich, ich werde mit dem System.Net.Mail-Klasse, um E-mail senden...wenn es trotzdem geht!

  • Die MailMessage-Klasse hat eine Attachments-Eigenschaft, die dies tun wird. Erstellen Sie einfach eine neue Anlage (basierend auf einem MemoryStream) und dann Anhängen (z.B. MailMessage.Anlagen.Add()).
InformationsquelleAutor Chris | 2010-11-29
Schreibe einen Kommentar