コード例 #1
0
ファイル: ClsAdicional.cs プロジェクト: SinNombreAun/Kuup
            public ClsResultado EnviarCorreo(Dictionary <String, String> Imagenes = null)
            {
                ClsResultado Resultado = new ClsResultado(true, String.Empty);

                try
                {
                    List <Parametro> parametros = new List <Parametro>();
                    using (DBKuupEntities db = new DBKuupEntities()) {
                        parametros = (from q in db.Parametro where q.PAR_CVE_TIPO == 4 select q).ToList();
                    }
                    SmtpClient  smtpClient = new SmtpClient();
                    MailMessage mail       = new MailMessage();
                    if ((parametros.Where(x => x.PAR_NOM_PARAMETRO == "EsHost").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault() != "SI"))
                    {
                        smtpClient.UseDefaultCredentials = false;
                        smtpClient.Credentials           = new NetworkCredential(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Usuario").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()), MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Password").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()));
                        smtpClient.Port = Convert <int>(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Port").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()));
                        smtpClient.Host = MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Host").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault());
                    }
                    else
                    {
                        smtpClient.Host = "relay-hosting.secureserver.net";
                        smtpClient.Port = 25;
                    }
                    mail.From = new MailAddress(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Form").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()));

                    foreach (var item in Para.Split(';'))
                    {
                        if (!String.IsNullOrEmpty(item))
                        {
                            mail.To.Add(item);
                        }
                    }
                    mail.Subject    = Asunto;
                    mail.IsBodyHtml = Mensaje.Contains("html");
                    if (Imagenes != null)
                    {
                        AlternateView alternateView = AlternateView.CreateAlternateViewFromString(Mensaje, null, MediaTypeNames.Text.Html);
                        foreach (var imagen in Imagenes)
                        {
                            LinkedResource pic1 = new LinkedResource(imagen.Value, MediaTypeNames.Image.Jpeg);
                            pic1.ContentId = imagen.Key;
                            alternateView.LinkedResources.Add(pic1);
                        }
                        mail.AlternateViews.Add(alternateView);
                    }
                    else
                    {
                        mail.Body = Mensaje;
                    }

                    smtpClient.Send(mail);
                }
                catch (SmtpException exm)
                {
                    Resultado.Resultado = false;
                    Resultado.Mensaje   = "Tipo: " + exm.GetType().ToString() + " Mensaje: " + exm.Message;
                    return(Resultado);
                }
                catch (Exception ex)
                {
                    Resultado.Resultado = false;
                    Resultado.Mensaje   = "Tipo: " + ex.GetType().ToString() + " Mensaje: " + ex.Message;
                    return(Resultado);
                }
                return(Resultado);
            }