Ejemplo n.º 1
0
 /// <summary>
 /// Inicializa la instancia de la clase CCorreos
 /// </summary>
 /// <exception cref="System.ArgumentNullException">Excepción que se produce cuando se pasa una referencia nula a un método que no la acepta como argumento válido.</exception>
 /// <exception cref="System.Exception">Representa los errores que se producen durante la ejecución de una aplicación.</exception>
 public Correos()
 {
     try
     {
         hiloCorreo = new Thread(new ThreadStart(Correo));
         if (ConfiguracionXML.ExisteConfiguracion("correo"))
         {
             correoOrigen = ConfiguracionXML.LeerConfiguración("correo", "correoR");
             contraseña   = ConfiguracionXML.LeerConfiguración("correo", "pass");
             puerto       = int.Parse(ConfiguracionXML.LeerConfiguración("correo", "puerto"));
             host         = ConfiguracionXML.LeerConfiguración("correo", "host");
         }
     }
     catch (ArgumentNullException ex)
     {
         throw ex;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Función que ejecutará el hilo
        /// </summary>
        /// <param name="argumento">Arreglo con la información que necesita la función para poderse ejecutar</param>
        /// <exception cref="System.Net.Mail.SmtpFailedRecipientsException">Esta API es compatible con la infraestructura de .NET Framework y no está diseñada para utilizarse directamente desde el código.
        /// La excepción que se produce cuando se envía un correo electrónico utilizando un SmtpClient y no se puede enviar a todos los destinatarios.</exception>
        /// <exception cref="System.Net.Mail.SmtpException">Representa la excepción que se produce cuando el objeto SmtpClient no puede completar una operación Send o una operación SendAsync.</exception>
        /// <exception cref="System.FormatException">Excepción que se produce cuando el formato de un argumento no cumple las especificaciones de los parámetros del método invocado.</exception>
        /// <exception cref="System.ObjectDisposedException">Excepción que se produce cuando se realiza una operación en un objeto desechado.</exception>
        /// <exception cref="System.InvalidOperationException">Excepción que se produce cuando una llamada a un método no es válida para el estado actual del objeto.</exception>
        /// <exception cref="System.ArgumentOutOfRangeException">Excepción que se produce cuando el valor de un argumento se encuentra fuera del intervalo de valores permitido definido por el método invocado.</exception>
        /// <exception cref="System.ArgumentNullException">Excepción que se produce cuando se pasa una referencia nula a un método que no la acepta como argumento válido.</exception>
        /// <exception cref="System.ArgumentException">Excepción que se produce cuando no es válido uno de los argumentos proporcionados para un método.</exception>
        /// <exception cref="System.Exception">Representa los errores que se producen durante la ejecución de una aplicación.</exception>

        /* Información que guarda el parametro en sus diferentes posiciones
         *  0: Correo Origen
         *  1: Contraseña correo origen
         *  2: Correos destino, separados por comas
         *  3: Asunto
         *  4: Cuerpo
         *  5: Adjuntos
         */
        private void Correo()
        {
            try
            {
                if (ConfiguracionXML.ExisteConfiguracion("correo"))
                {
                    email = new MailMessage();
                    smtp  = new SmtpClient();
                    string[] destinatarios = correosDestino.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);

                    smtp.Credentials    = new NetworkCredential(@correoOrigen, @contraseña);
                    smtp.Host           = host;
                    smtp.Port           = puerto;
                    smtp.EnableSsl      = true;
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

                    for (int i = 0; i < destinatarios.Length; i++)
                    {
                        email.To.Add(new MailAddress(destinatarios[i]));
                    }
                    email.From       = new MailAddress(correoOrigen, "HS FIT", Encoding.UTF8);
                    email.Subject    = asunto;
                    email.Body       = cuerpo;
                    email.IsBodyHtml = false;
                    if (adjuntos != null)
                    {
                        for (int i = 0; i < adjuntos.Length; i++)
                        {
                            email.Attachments.Add(new Attachment(adjuntos[i]));
                        }
                    }
                    smtp.Send(email);
                    email.Dispose();
                    smtp.Dispose();
                }
            }
            catch (SmtpFailedRecipientsException ex)
            {
                throw ex;
            }
            catch (SmtpException ex)
            {
                throw ex;
            }
            catch (FormatException ex)
            {
                throw ex;
            }
            catch (ObjectDisposedException ex)
            {
                throw ex;
            }
            catch (InvalidOperationException ex)
            {
                throw ex;
            }
            catch (ArgumentOutOfRangeException ex)
            {
                throw ex;
            }
            catch (ArgumentNullException ex)
            {
                throw ex;
            }
            catch (ArgumentException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }