public static void EnviarCorreo(string tipoSolicitud, string semanaCambio, int organizacionID, string clave, int usuarioID) { var seguridad = (SeguridadInfo)ObtenerSeguridad(); var correo = new CorreoPL(); var correoenviar = new CorreoInfo(); var usuariosCorreo = new List <UsuarioInfo>(); var organizacionPL = new OrganizacionPL(); var usuarioInfo = new UsuarioInfo(); var usuarioPL = new UsuarioPL(); var organizacionInfo = new OrganizacionInfo(); var parametroPL = new ParametroGeneralPL(); var terminacionCorreo = new ParametroGeneralInfo(); try { OrganizacionInfo organizacion = seguridad.Usuario.Organizacion; terminacionCorreo = parametroPL.ObtenerPorClaveParametro("CorreoTerminacion"); string asuntoCorreo = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "msgAsuntoCorreo.Text").ToString(); string mensajeCorreo = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "msgMensajeCorreo.Text").ToString(); string parametroManejo = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "clvCorreoJefeManejo.Text").ToString(); organizacionInfo = organizacionPL.ObtenerPorID(organizacionID); if (string.IsNullOrEmpty(clave)) { usuarioInfo = usuarioPL.ObtenerPorID(usuarioID); correoenviar.Asunto = String.Format(asuntoCorreo, tipoSolicitud, semanaCambio, organizacionInfo.Descripcion); correoenviar.Correos = new List <string>(); correoenviar.Mensaje = String.Format(mensajeCorreo, tipoSolicitud, semanaCambio); correoenviar.Correos.Add(usuarioInfo.UsuarioActiveDirectory + terminacionCorreo.Valor); correo.EnviarCorreo(organizacion, correoenviar); } else { usuariosCorreo = ObtenerCorreos(clave); if (clave.Equals(parametroManejo)) { usuariosCorreo.RemoveAll(x => x.OrganizacionID != organizacionID); } foreach (var usuario in usuariosCorreo) { correoenviar.Asunto = String.Format(asuntoCorreo, tipoSolicitud, semanaCambio, organizacionInfo.Descripcion); correoenviar.Correos = new List <string>(); correoenviar.Mensaje = String.Format(mensajeCorreo, tipoSolicitud, semanaCambio); correoenviar.Correos.Add(usuario.UsuarioActiveDirectory + terminacionCorreo.Valor); correo.EnviarCorreo(organizacion, correoenviar); } } } catch (Exception ex) { Logger.Error(ex); throw; } }
/// <summary> /// Envia el correo electronico de una incidencia con los correo configurados /// </summary> /// <param name="organizacion"></param> /// <param name="correoAenviar"></param> /// <returns></returns> public ResultadoOperacion EnviarCorreo(OrganizacionInfo organizacion, CorreoInfo correoAenviar) { ResultadoOperacion resultado; try { Logger.Info(); var correoBl = new CorreoBL(); resultado = correoBl.EnviarCorreo(correoAenviar, organizacion); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }
/// <summary> /// Método que envía correos al transportista correspondiente al embarque /// </summary> /// <param name="embarqueInfo"> Información que contendrá el correo </param> /// <param name="formatoCorreo"> Formato con el que se enviará el correo </param> /// <returns> Numero entero de acuerdo al estado de la solictuds. </returns> public int EnviarCorreo(EmbarqueInfo embarqueInfo, string formatoCorreo) { try { var programacionEmbarqueBL = new ProgramacionEmbarqueBL(); var embarqueCorreo = programacionEmbarqueBL.ObtenerInformacionCorreo(embarqueInfo); var correo = new CorreoBL(); var correoEnviar = new CorreoInfo(); correoEnviar.Mensaje = String.Format(formatoCorreo, embarqueCorreo.Ruteo.OrganizacionOrigen.Descripcion, embarqueCorreo.Ruteo.OrganizacionDestino.Descripcion, embarqueCorreo.ResponsableEmbarque, embarqueCorreo.TipoEmbarque.Descripcion, embarqueCorreo.CitaCarga); correoEnviar.Correos = new List <string>(); correoEnviar.Asunto = "Solicitud de Unidad"; correoEnviar.Correos.Add(embarqueInfo.Proveedor.Correo); var respuesta = correo.EnviarCorreo(correoEnviar, embarqueInfo.Organizacion); if (respuesta.Resultado) { return(1); } else { return(0); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
private void BtnEnviar_OnClick(object sender, RoutedEventArgs e) { try { if (string.IsNullOrWhiteSpace(txtDestinatarios.Text)) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_SinDestinatarios, MessageBoxButton.OK, MessageImage.Warning); return; } var rutaEjecutable = System.Reflection.Assembly.GetExecutingAssembly().Location.Substring(0, System.Reflection.Assembly.GetExecutingAssembly().Location.LastIndexOf("\\", StringComparison.Ordinal)); string archivo = string.Format("{0}\\{1}", rutaEjecutable, Properties.Resources.BitacoraErrores_NombreLog); if (File.Exists(archivo)) { string archivoCopiado = string.Format("{0}\\{1}", Path.GetTempPath(), Properties.Resources.BitacoraErrores_NombreLog); File.Copy(archivo, archivoCopiado, true); var correopl = new CorreoPL(); if (!File.Exists(archivoCopiado)) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_SinBitacora, MessageBoxButton.OK, MessageImage.Warning); return; } List <string> destinatarios = (from cor in txtDestinatarios.Text.Split(';') select cor).ToList(); var correo = new CorreoInfo { Asunto = "Bitacora Errores SIAP", Mensaje = "Se adjunta archivo de Errores", NombreOrigen = "Sukarne", Correos = destinatarios, ArchivoAdjunto = archivoCopiado }; correopl.EnviarCorreo( new OrganizacionInfo { OrganizacionID = Auxiliar.AuxConfiguracion.ObtenerOrganizacionUsuario() }, correo); SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_CorreoEnviado, MessageBoxButton.OK, MessageImage.Correct); txtDestinatarios.Text = string.Empty; } else { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_SinBitacora, MessageBoxButton.OK, MessageImage.Warning); } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_ErrorDescargarArchivo, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Enviar corre electronico /// </summary> /// <param name="correoAenviar"></param> /// <param name="organizacion"></param> /// <returns></returns> internal ResultadoOperacion EnviarCorreo(CorreoInfo correoAenviar, OrganizacionInfo organizacion) { var resultado = new ResultadoOperacion { Resultado = true }; try { var smtp = new SmtpClient(); var correo = new MailMessage(); var parametrosBl = new ConfiguracionParametrosBL(); var parametrosServidorSmtp = new ConfiguracionParametrosInfo { OrganizacionID = organizacion.OrganizacionID, TipoParametro = (int)TiposParametrosEnum.ConfiguracionSmtp }; IList <ConfiguracionParametrosInfo> datosServidorSmtp = parametrosBl.ObtenerPorOrganizacionTipoParametro(parametrosServidorSmtp); if (datosServidorSmtp == null) { resultado.Resultado = false; resultado.Mensaje = ResourceServices.Correo_ErrorParametrosServidor; return(resultado); } ServidorSmtpInfo servidorSmtp = ObtenerInformacionServidor(datosServidorSmtp); if (servidorSmtp == null) { resultado.Resultado = false; resultado.Mensaje = ResourceServices.Correo_ErrorParametrosServidor; return(resultado); } correo.From = new MailAddress(servidorSmtp.Cuenta, correoAenviar.NombreOrigen); if (correoAenviar.Correos == null) { resultado.Resultado = false; resultado.Mensaje = ResourceServices.Correo_SinDestinatario; return(resultado); } foreach (var destinatario in correoAenviar.Correos) { correo.To.Add(destinatario); } correo.Body = correoAenviar.Mensaje; correo.Subject = correoAenviar.Asunto; correo.SubjectEncoding = Encoding.UTF8; if (!string.IsNullOrWhiteSpace(correoAenviar.ArchivoAdjunto)) { var archivoAdjunto = new Attachment(correoAenviar.ArchivoAdjunto); correo.Attachments.Add(archivoAdjunto); } correo.BodyEncoding = Encoding.UTF8; correo.IsBodyHtml = true; correo.Priority = MailPriority.High; smtp.Host = servidorSmtp.Servidor; smtp.Port = int.Parse(servidorSmtp.Puerto); smtp.EnableSsl = servidorSmtp.RequiereSsl; smtp.Credentials = new NetworkCredential(servidorSmtp.Cuenta, servidorSmtp.Autentificacion); smtp.Send(correo); } catch (Exception ex) { Logger.Error(ex); throw; } return(resultado); }
/// <summary> /// Envia correo electronico /// </summary> /// <param name="organizacion"></param> /// <param name="correoAenviar"></param> /// <returns></returns> internal ResultadoOperacion EnviarCorreoElectronicoInsidencia(OrganizacionInfo organizacion, CorreoInfo correoAenviar) { var resultado = new ResultadoOperacion(); try { var bitacoraBl = new BitacoraErroresDAL(); var notificaciones = bitacoraBl.ObtenerNotificacionesPorAcciones(correoAenviar.AccionSiap); if (notificaciones == null) { resultado.Resultado = false; resultado.Mensaje = ResourceServices.Correo_ErrorParametrosCorreoDestino; return(resultado); } if (notificaciones.Count == 0) { resultado.Resultado = false; resultado.Mensaje = ResourceServices.Correo_SinDestinatario; return(resultado); } correoAenviar.Correos = new List <string>(); foreach (var destinatario in notificaciones) { correoAenviar.Correos.Add(destinatario.UsuarioDestino); } resultado = EnviarCorreo(correoAenviar, organizacion); } catch (Exception ex) { Logger.Error(ex); resultado.Resultado = false; resultado.Mensaje = ResourceServices.Correo_ErrorInesperado; return(resultado); } return(resultado); }