Esempio n. 1
0
 private MimeKit.MimeMessage notifEmail(JGA_PROYECCION proyeccion, JGA_PGS_ENT suplidor, List<JGA_PGS_CXE> contactosSup, JGA_PGS_ENT embarcador, List<JGA_PGS_CXE> contactosEmb, JGA_PGS_USR usuario)
 {
     JGA_PGS_PTOS puertoDest = db.JGA_PGS_PTOS.SingleOrDefault(x => x.PTOS_CODPTO == proyeccion.PROY_PTOIN);
     var message = new MimeMessage();
     message.From.Add(new MailboxAddress(usuario.USR_NAME, usuario.USR_EMAIL));
     message.To.Add(new MailboxAddress(suplidor.ENT_NOMBRE, suplidor.ENT_MAIL1));
     if (suplidor.ENT_MAIL2 != null)
     {
         message.To.Add(new MailboxAddress(suplidor.ENT_NOMBRE, suplidor.ENT_MAIL2));
     }
     if (contactosSup.Count > 0)
     {
         foreach (var item in contactosSup)
         {
             message.To.Add(new MailboxAddress(item.CXE_nombre, item.CXE_email1));
             if (item.CXE_email2 != null)
             {
                 message.To.Add(new MailboxAddress(item.CXE_nombre, item.CXE_email2));
             }
         }
     }
     message.Cc.Add(new MailboxAddress(embarcador.ENT_NOMBRE, embarcador.ENT_MAIL1));
     if (embarcador.ENT_MAIL2 != null)
     {
         message.Cc.Add(new MailboxAddress(embarcador.ENT_NOMBRE, embarcador.ENT_MAIL2));
     }
     if (contactosEmb.Count > 0)
     {
         foreach (var item in contactosEmb)
         {
             message.Cc.Add(new MailboxAddress(item.CXE_nombre, item.CXE_email1));
             if (item.CXE_email2 != null)
             {
                 message.Cc.Add(new MailboxAddress(item.CXE_nombre, item.CXE_email2));
             }
         }
     }
     //Asunto del correo
     message.Subject = "Llegada de contenedor a planta " + suplidor.ENT_NOMBRE + " / " + proyeccion.JGA_BKG_SOL.JGA_PGS_NAV.NAV_NOMBRE + " - " + proyeccion.JGA_BKG_SOL.JGA_PGS_NAV.JGA_PGS_DEST.SingleOrDefault(x => x.DEST_IDDEST == proyeccion.JGA_BKG_SOL.SOL_DEST).DEST_DESCRIP + " " + proyeccion.JGA_BKG_SOL.SOL_SEMANA;
     //acá creamos una variable para la contrucción del email.
     var builder = new BodyBuilder();
     //Correo en texto plano
     builder.TextBody = @"";
     //correo en HTML
     builder.HtmlBody = @"<div>
                             <p>Buenos días.<br />Estos son los datos del contenedor que estará llegando el día " + proyeccion.PROY_FECCOLOCACION + " a planta.</p>"+
                             "<h3>"+proyeccion.PROY_CONSEC+"</h3>"+
                             "<table border='3' style='border-color:black; width:80%; text-align:center;'>"+
                                 "<thead>"+
                                     "<tr style='background-color:blue; color: white;'>"+
                                         "<td class='header'>Contenedor</td>"+
                                         "<td class='header'>Marchamo</td>"+
                                         "<td class='header'>Barco</td>"+
                                         "<td class='header'>Puerto destino</td>"+
                                         "<td class='header'>Naviera</td>"+
                                     "</tr>"+
                                 "</thead>"+
                                 "<tbody>"+
                                     "<tr>"+
                                         "<td>" + proyeccion.PROY_CONTENEDOR+"</td>"+
                                         "<td>"+proyeccion.PROY_MARCHAMO+"</td>"
                                         +"<td>"+proyeccion.PROY_BARCO+"</td>"+
                                         "<td>"+puertoDest.PTOS_NOMBRE+"</td>"+
                                         "<td>"+proyeccion.JGA_BKG_SOL.JGA_PGS_NAV.NAV_NOMBRE+"</td>"+
                                      "</tr>"+
                                   "</tbody>"+
                               "</table><br />"+
                               "<p>Por favor confirmar recibido.<br />Saludos.</p>"+
                         "</div>";
     message.Body = builder.ToMessageBody();
     return message;
 }
Esempio n. 2
0
 private void MessageNotif(JGA_PROYECCION proyeccion, JGA_PGS_ENT suplidor, List<JGA_PGS_CXE> contactosSup, JGA_PGS_ENT embarcador, List<JGA_PGS_CXE> contactosEmb, JGA_PGS_USR usuario)
 {
     //Se envía al método notifEmail las listas de los emails de los destinatarios.
     var message = (MimeMessage)notifEmail(proyeccion, suplidor, contactosSup, embarcador, contactosEmb, usuario);
     var stream = new MemoryStream();
     message.WriteTo(stream);
     //acá seteamos las credenciales que nos provee AWS para el envío de correos electrónicos.
     AWSCredentials credentials = new BasicAWSCredentials("AKIAI5LCJ5RFIUB4NJUQ", "XTRtXuW+mxYg2nZOtc7MnErmwJFRD5kgAKCPjmjU");
     //seteamos una variable con las credenciales y la zona que tenemos de AWS.
     using (var client = AWSClientFactory.CreateAmazonSimpleEmailServiceClient(credentials, RegionEndpoint.USEast1))
     {
         var request = new SendRawEmailRequest { RawMessage = new RawMessage { Data = stream } };
         //acá ejecutamos el envio del correo.
         var response = client.SendRawEmail(request);
     }
 }