Exemplo n.º 1
0
        private void enviarBtn_Click(object sender, EventArgs e)
        {
            // ver comentario en contacto_new_update.cs respecto de la expresion regular
            Regex reg = new Regex(@"^[^ /?@\x00-\x1f()<>]+@([^. /?@\x00-\x1f()<>]+\.)*[a-zA-Z]{2,}\.?$");

            if (!reg.IsMatch(toTxt.Text))
            {
                var          form = new frmAlert(this, "Ingresar destinatario", "Debe agregar un destinatario correcto en el campo Para", "close");
                DialogResult vr   = form.ShowDialog(this);
                return;
            }

            Cargando carg = new Cargando();

            carg.Ejecutar();

            To      = toTxt.Text;
            Subject = asuntoTxt.Text;
            Body    = cuerpoTxt.Text + "<br><br>" + webBrowser.DocumentText;

            mail = new MailMessage();
            mail.To.Add(new MailAddress(this.To));
            mail.From       = new MailAddress(G.user.Mail, G.user.Mail);
            mail.Subject    = Subject;
            mail.Body       = Body;
            mail.IsBodyHtml = true;

            SmtpClient client = new SmtpClient(G.user.SMTPserver, G.user.SMTPport);

            client.Credentials = new System.Net.NetworkCredential(G.user.Mail, G.user.Password);
            client.EnableSsl   = G.user.SMTPssl;

            try
            {
                client.Send(mail);

                if (contactoID > 0)
                {
                    G.user.contacto_enviado(contactoID);
                }
                if (asuntoID > 0)
                {
                    G.user.asunto_usado(asuntoID);
                }
                if (mensajeID > 0)
                {
                    G.user.mensaje_usado(mensajeID);
                }

                mail_enviado mailEnviado = new mail_enviado();
                mailEnviado.__para    = To;
                mailEnviado.__asunto  = Subject;
                mailEnviado.__mensaje = Body;

                G.user.guardarMailEnviado(mailEnviado);

                carg.Detener();

                var form2 = new frmAlert(this, "Mail enviado", "El mail ha sido enviado exitosamente", "close");
                form2.Show();
            }
            catch
            {
                carg.Detener();
                var form2 = new frmAlert(this, "Error", "Hubo un inconveniente técnico. \nVuelva a intentarlo más tarde.", "close");
                form2.Show();
            }
        }