Esempio n. 1
0
 public async Task CreateMailDB(Ekilibrate.Model.Entity.General.clsMensajeCorreo correo)
 {
     using (var scope = EkilibrateSendMail.Autofac.ContainerConfig.ProxyContainer.BeginLifetimeScope())
     {
         var middleTier = scope.Resolve <Ekilibrate.Model.Services.Administrador.IDataInjector>();
         await middleTier.CrearCorreo(correo);
     }
 }
Esempio n. 2
0
        public async Task DirectEmail(Ekilibrate.Model.Entity.General.clsMensajeCorreo mensaje,
                                      string MailAccount,
                                      string MailPassword)
        {
            try
            {
                Ekilibrate.Model.Common.ExecutionResult Result = new Ekilibrate.Model.Common.ExecutionResult();
                bool enviado = false;

                using (SmtpClient client = new SmtpClient())
                {
                    client.EnableSsl             = false;
                    client.UseDefaultCredentials = false;
                    client.Credentials           = new NetworkCredential(MailAccount, MailPassword);
                    client.Host                     = "mail.server260.com";
                    client.Port                     = 587;
                    client.DeliveryMethod           = SmtpDeliveryMethod.Network;
                    client.ServicePoint.MaxIdleTime = 1;
                    client.Timeout                  = 10000;

                    MailMessage msg = new MailMessage();

                    msg.From = new MailAddress(MailAccount, "Ekilibrate");
                    msg.To.Add(mensaje.Para.ToString());
                    msg.Subject    = mensaje.Asunto;
                    msg.Body       = mensaje.Mensaje;
                    msg.IsBodyHtml = mensaje.EsHTML.Equals("SI");
                    msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

                    try
                    {
                        client.Send(msg);
                        enviado = true;
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Error al enviar mensaje: " + ex.Message);
                        //throw new Exception("No se pudo enviar el mensaje de confirmación a tu correo, favor verifica que sea correcto");
                    }

                    if (enviado)
                    {
                        mensaje.EstadoEnvio = "ENVIADO";
                        mensaje.FechaEnvio  = DateTime.Now;
                    }

                    await CreateMailDB(mensaje);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error al enviar correo: " + ex.Message + " / " + ex.InnerException.Message);
                throw;
            }
        }
Esempio n. 3
0
        async Task IDataInjector.CrearCorreo(Ekilibrate.Model.Entity.General.clsMensajeCorreo Data)
        {
            using (var scope = Ekilibrate.Data.Access.Common.ContainerConfig.ProxyContainer.BeginLifetimeScope("a"))
            {
                try
                {
                    var objController = new Ekilibrate.BL.Controller.General.clsMensajeCorreo(scope);
                    var result        = await objController.Insert(Data);

                    var DBContext = scope.Resolve <DBTrnContext>();
                    DBContext.CommitTransaction();
                }
                catch (FaultException ex)
                {
                    throw ex;
                }
                catch (Exception)
                {
                    throw new FaultException("Error al registrar los datos de asistente.");
                }
            }
        }