Genero dinámicamente varios tipos diferentes de archivos basados en un GridView en ASP.NET, una hoja de cálculo de Excel y un archivo HTML. Estoy haciendo lo que usar este código (esto es sólo para la hoja de cálculo de Excel):Envío de correos electrónicos con archivos adjuntos programáticamente en ASP.NET
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();
me gustaría dar a los usuarios las opciones de envío por correo electrónico el archivo generado como archivo adjunto a una dirección de correo electrónico que especifique o uno relacionado con su cuenta en la base de datos. Pero no quiero que el usuario tenga que guardar el archivo y luego adjuntarlo en un formulario. Me gustaría adjuntar automáticamente el archivo generado. ¿Es esto posible y qué tan fácil es?
Por supuesto, usaré la clase System.Net.Mail para enviar correos ... ¡si es posible de todos modos!
La clase MailMessage tiene una propiedad de Archivos adjuntos que hará esto. Simplemente cree un nuevo archivo adjunto (puede estar basado en un MemoryStream) y luego adjúntelo (por ejemplo, MailMessage.Attachments.Add()). – Zachary