public static bool EnviarCorreo(string sAsunto, string sMensaje, string sPara, Dictionary <string, Stream> Adjuntos) { if (!UtilLocal.IsEmailValid(sPara)) { return(false); } SmtpClient Correo = new SmtpClient(); NetworkCredential Acceso = new NetworkCredential(); MailMessage Mensaje = new MailMessage(); var oConfig = Config.ValoresVarios("Correo."); Correo.Host = oConfig["Correo.Servidor"]; Correo.Port = Util.Entero(oConfig["Correo.Puerto"]); Correo.EnableSsl = (oConfig["Correo.Ssl"].ToLower() == "v"); Acceso.UserName = oConfig["Correo.Usuario"]; Acceso.Password = oConfig["Correo.Contrasenia"]; Correo.Credentials = Acceso; Mensaje.From = new MailAddress(Acceso.UserName, oConfig["Correo.Nombre"]); Mensaje.To.Add(sPara); Mensaje.Subject = sAsunto; Mensaje.Body = sMensaje; Mensaje.IsBodyHtml = true; if (Adjuntos != null && Adjuntos.Count > 0) { foreach (var oAdjunto in Adjuntos) { Mensaje.Attachments.Add(new Attachment(oAdjunto.Value, oAdjunto.Key)); } } try { Correo.SendCompleted += new SendCompletedEventHandler((s, e) => { var oMensaje = (e.UserState as MailMessage); if (oMensaje != null) { foreach (var oAdjunto in oMensaje.Attachments) { oAdjunto.ContentStream.Close(); } } }); Correo.SendAsync(Mensaje, Mensaje); } catch { return(false); } ServicePointManager.ServerCertificateValidationCallback = delegate ( object s , X509Certificate certificate , X509Chain chai , SslPolicyErrors sslPolicyErrors ) { return(true); }; return(true); }