private void enviarCorreo() { List <_sis_Usuario> usuariosSoporte = manejador.CargarLista <_sis_Usuario>(_sis_Usuario.consultaPorUsuariosSoporte); manejador.CerrarConexion(); String emails = ""; if (usuariosSoporte == null) { return; } foreach (_sis_Usuario usuario in usuariosSoporte) { emails += usuario.SEmail + "; "; } emails = emails.Substring(0, emails.Length - 2); String correo = ""; String detallesTecnicos = ""; Dispatcher.Invoke(new Action(() => { correo = txt_comentarios.Text.Trim(); detallesTecnicos = @"<ul> <li>IP(LAN|WAN): " + IPLAN + "|" + IPInternet + @"</li> <li>Usuario: " + UsuarioLogueadoCuenta + @"</li> <li>Hora del evento: " + horaEvento.ToString("yyyy-MM-dd HH:mm:ss") + @"</li> <li>Correo del usuario: " + UsuarioLogueadoEmail + @"</li> </ul>"; })); try { CorreoEnviado = false; EmailFormatos.EnviarMailError(correo, "Error en el sistema", detallesTecnicos, Excepcion, emails, new List <Adjunto>() { new Adjunto() { NombreArchivo = "foto.jpg", Stream = Herramientas.WPF.Utilidades.BitmapToStream(fotoPantalla) } }); Dispatcher.Invoke(new Action(() => { HerramientasWindow.MostrarNotificacion("Enviando correo...", "Enviando"); })); } catch (Exception ex) { Dispatcher.Invoke(new Action(() => { HerramientasWindow.MostrarNotificacion("Error: " + ex.Message, "Error al enviar el correo"); })); } }
void EmailFormatos_correoEnviado() { Dispatcher.Invoke(new Action(() => { if (!CorreoEnviado) { HerramientasWindow.MostrarNotificacion("El correo fue enviado exitosamente.", "Correo enviado"); if (Principal.usuario.SEmail != null && !Principal.usuario.SEmail.Trim().Equals("")) { EmailFormatos.EnviarMailInformacion("El equipo de soporte ha recibido tu error. Pronto se comunicarán contigo para conocer mayores detalles.", "Error notificado con exito", Principal.usuario.SEmail, new List <Adjunto>() { new Adjunto() { NombreArchivo = "foto.jpg", Stream = Herramientas.WPF.Utilidades.BitmapToStream(fotoPantalla) } }); } CorreoEnviado = true; } })); }
private void AgregarLoginFallido() { try { _sis_AccesoFallido acceso = manejador.CrearObjeto <_sis_AccesoFallido>(); acceso.SIPEquipo = ipLocal; acceso.SIpInternet = ipInternet; acceso.SNombreEquipo = Environment.MachineName; acceso.SUsuarioWindows = Environment.UserName; acceso.SUsuarioRegistrado = txt_usuario.Text; acceso.SContrasenaRegistrada = txt_contraseña.Text; acceso.EsModificado = true; manejador.Guardar(acceso); accesosFallidos.Add(acceso); if (accesosFallidos.Count > 2) { Bitmap fotoUsuario = HerramientasWindow.ObtenerFotoDeWebCam(); _sis_LimiteAccesosFallidosAlcanzado limite = manejador.CrearObjeto <_sis_LimiteAccesosFallidosAlcanzado>(); limite.AccesosFallidos = accesosFallidos; limite.FotoPantalla = manejador.CrearObjeto <_sis_ImagenAsociada>(); limite.FotoPantalla.EsModificado = true; limite.FotoPantalla.Imagen = HerramientasWindow.ComprimirImagen(HerramientasWindow.ObtenerFotoPantalla(this), 1000, 600, System.Drawing.Imaging.ImageFormat.Jpeg); limite.FotoWebCam = manejador.CrearObjeto <_sis_ImagenAsociada>(); limite.FotoWebCam.EsModificado = true; limite.FotoWebCam.Imagen = HerramientasWindow.ComprimirImagen(fotoUsuario, 600, 400, System.Drawing.Imaging.ImageFormat.Jpeg); limite.EsModificado = true; Bitmap emailFotoPantalla = limite.FotoPantalla.Imagen; Bitmap emailFotoWebcam = limite.FotoWebCam.Imagen; manejador.Guardar(limite); accesosFallidos.Clear(); List <_sis_Usuario> usuariosAdmins = manejador.CargarLista <_sis_Usuario>(_sis_Usuario.consultaPorUsuariosAdministradores); String emails = ""; foreach (_sis_Usuario us in usuariosAdmins) { if (!us.SEmail.Trim().Equals("")) { emails += us.SEmail + "; "; } } if (!emails.Trim().Equals("")) { emails = emails.Substring(0, emails.Length - 2); } if (!emails.Trim().Equals("")) { String detallesTecnicos = @"<p><strong>Detalles técnicos:</strong></p> <ul> <li>IP(LAN|WAN): " + ipLocal + "|" + ipInternet + @"</li> <li>Nombre equipo: " + acceso.SNombreEquipo + @"</li> <li>Hora del evento: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + @"</li> <li>Sesión Windows: " + acceso.SUsuarioWindows + @"</li> <li>Usuario registrado: " + acceso.SUsuarioRegistrado + @"</li> </ul>"; String mensaje = @" <h2><strong>Detección de intruso en el sistema.</strong></h2> <blockquote> <p><em>Verificar archivos adjuntos.</em></p> </blockquote> "; Adjunto adj1 = null; Adjunto adj2 = null; if (emailFotoPantalla != null) { adj1 = new Adjunto(); adj1.NombreArchivo = "fotoPantalla.jpg"; adj1.Stream = Herramientas.WPF.Utilidades.BitmapToStream(emailFotoPantalla); } if (emailFotoWebcam != null) { adj2 = new Adjunto(); adj2.NombreArchivo = "fotoWebcam.jpg"; adj2.Stream = Herramientas.WPF.Utilidades.BitmapToStream(emailFotoWebcam); } List <Adjunto> adjuntos = new List <Adjunto>(); adjuntos.Add(adj1); adjuntos.Add(adj2); try { EmailFormatos.EnviarMailAtencion(mensaje, "Intento de acceso no permitido detectado", detallesTecnicos, null, emails, adjuntos); } catch { } } fotoUsuario = null; conteoRegistrosLimite++; if (conteoRegistrosLimite == 2) { _sis_EquiposRegistrados equipoRegistrado = manejador.Cargar <_sis_EquiposRegistrados>(_sis_EquiposRegistrados.ConsultaPorNombreEquipo, new List <object>() { Environment.MachineName }); if (equipoRegistrado == null) { equipoRegistrado = manejador.CrearObjeto <_sis_EquiposRegistrados>(); } equipoRegistrado.SNombreEquipo = Environment.MachineName; equipoRegistrado.SUltimaIPConexion = ipLocal; equipoRegistrado.UltimoUsuarioConexion = usuario; equipoRegistrado.BEstaBloqueado = true; equipoRegistrado.BEstaConectado = false; equipoRegistrado.EsModificado = true; manejador.Guardar(equipoRegistrado); HerramientasWindow.MensajeAdvertencia("Por seguridad se ha bloqueado el equipo. Favor de contactar al administrador del Sistema.", "Bloqueo de seguridad"); } } } catch (Exception ex) { HerramientasWindow.MensajeError(ex, "Error: " + ex.Message, "Error"); } }