none
Crear un PDF y adjuntarlo en un correo RRS feed

  • Pregunta

  • junto con saludarlos

    Me surgio la siguiente problematica resulta que estoy tratando de enviar un archivo pdf adjunto a un correo trabajo con c# web el pdf me lo genera correctamente pero tengo problemas para adjuntarlo

    paso a detallar el fuente

                        ReportDocument Documento = new ReportDocument();
                        DataSet Reporte = new DataSet();
                        Reporte = CrearRpt();
                        CrystalDecisions.CrystalReports.Engine.ReportDocument myReporte = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                        string Rpt;
                        Rpt = Server.MapPath("Inscripcion.rpt");
                        Server.MapPath("~/Reportes/Inscripcion.rpt");
                        myReporte = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                        myReporte.Load(Rpt);
                        myReporte.SetDataSource(Reporte.Tables[0]);
    
                        CrystalDecisions.Shared.ExportOptions exportOpts = new CrystalDecisions.Shared.ExportOptions();
                        CrystalDecisions.Shared.DiskFileDestinationOptions diskOpts = new CrystalDecisions.Shared.DiskFileDestinationOptions();
                        string Fnames;
                        string ExportPath;
    
                        ExportPath = Request.PhysicalApplicationPath + @"Reportes\";
    Fnames = ExportPath + Session.SessionID + "Operac" + ".pdf";
                        diskOpts.DiskFileName = Fnames;
                        exportOpts = myReporte.ExportOptions;
                        exportOpts.DestinationOptions = diskOpts;
                        exportOpts.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
                        exportOpts.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
    
                        myReporte.Export();
    
                        Response.ClearContent();
                        Response.ClearHeaders();
                        Response.ContentType = "application/pdf";
    
                        Response.WriteFile(Fnames);
                        Response.Flush();
                        Response.Close();

    Genero correo para ser enviado con el dato adjunto que en este caso es el pdf

                        //Configuración del Mensaje
                        MailMessage mail = new MailMessage();
                        SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
                        //Especificamos el correo desde el que se enviará el Email y el nombre de la persona que lo envía
                        mail.From = new MailAddress("institut@gmail.com", "Brico", Encoding.UTF8);
                        //Aquí ponemos el asunto del correo
                        mail.Subject = "Prueba de Envío de Correo";
                        //Aquí ponemos el mensaje que incluirá el correo
                        mail.Body = "Prueba de Envío de Correo de Gmail desde CSharp";
                        //Especificamos a quien enviaremos el Email, no es necesario que sea Gmail, puede ser cualquier otro proveedor
                        mail.To.Add("gac_b@hotmail.com");
                        //Si queremos enviar archivos adjuntos tenemos que especificar la ruta en donde se encuentran
                        //mail.Attachments.Add(new Attachment(@"Reportes\"));
                        mail.Attachments.Add(new Attachment(Server.MapPath("~/Reportes/Inscripcion.rpt")));
                        //Configuracion del SMTP
                        SmtpServer.Port = 587; //Puerto que utiliza Gmail para sus servicios
                        //Especificamos las credenciales con las que enviaremos el mail
                        SmtpServer.Credentials = new System.Net.NetworkCredential("institut@gmail.com", "Kerb4");
                        SmtpServer.EnableSsl = true;
                        SmtpServer.Send(mail);   

     mail.Attachments.Add(new Attachment(Fnames))); esta es la linea de codigo que no me esta dando la ruta..

    Saludos

    LatinWAter


    jueves, 8 de junio de 2017 13:50

Respuestas

  • Hola,quizás es que el archivo no se esta copiando en el directorio bin

    andate al .rpt dale click derecho y en propiedades en copiar en el directorio de resultados ponle copiar siempre, eso te creará las carpetas donde está el reporte y el reporte en el directorio bin al momento de compilar


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala.Solo dejo mis respuestas en el foro si son votadas o respuesta, de lo contrario por mantener el orden las borro.Saludos. Lima-Perú.


    • Editado Augusto1982 viernes, 9 de junio de 2017 15:24
    • Propuesto como respuesta Joyce_ACModerator viernes, 9 de junio de 2017 16:02
    • Marcado como respuesta LatinWater viernes, 9 de junio de 2017 20:30
    viernes, 9 de junio de 2017 15:23