Пример #1
0
        private void getMails()
        {
            Rfc822Message message;
            mail_recibido mailRecibido = new mail_recibido();

            string uidl;

            if (recibidos)
            {
                Cargando carg = new Cargando();
                carg.Ejecutar();
                //sincronización mails.

                client = G.crear_cliente();

                int ciclos = 0;
                while (client.ConnectionState != EPop3ConnectionState.Authenticated)
                {
                    Thread.Sleep(100);
                    ciclos++;
                    if (ciclos > 120)
                    {
                        break;
                    }
                }

                Pop3MessageUIDInfoCollection messageUIDs = client.GetAllUIDMessages();
                uint i = 1;
                foreach (Pop3MessageUIDInfo uidInfo in messageUIDs)
                {
                    uidl = uidInfo.UniqueNumber;
                    if (!G.user.exists_mailRecibido(uidl))
                    {
                        message = client.GetMessage(i);

                        //guardo mail
                        mailRecibido.__uidl             = uidl;
                        mailRecibido.__remitente_nombre = message.From.DisplayName.ToString();
                        mailRecibido.__remitente_mail   = message.From.Address.ToString();
                        if (message.From.Address == client.Username)
                        {
                            mailRecibido.__asunto = null;
                        }
                        else
                        {
                            mailRecibido.__asunto = message.Subject.ToString();
                        }
                        mailRecibido.__mensaje = message.Text.ToString();
                        mailRecibido.__fecha   = message.Date.ToLocalTime();
                        G.user.guardarMailRecibido(mailRecibido);
                    }
                    i++;
                }
                client.Logout();
                carg.Detener();
            }
        }
Пример #2
0
        public bool eliminar_mail(string UIDL)
        {
            Cargando carg = new Cargando();

            carg.Ejecutar();

            client = G.crear_cliente();
            Pop3MessageUIDInfoCollection messageUIDs = client.GetAllUIDMessages();
            uint i = 1;

            foreach (Pop3MessageUIDInfo uidInfo in messageUIDs)
            {
                if (uidInfo.UniqueNumber == UIDL)
                {
                    client.DeleteMessage(i);
                    break;
                }
                i++;
            }
            client.Logout();

            G.user.eliminar_mail_recibido(UIDL);

            client.Logout();
            if (((G.user.cantidad_mails_recibidos() % 8) == 1) && btnAnterior.Enabled)
            {
                btnAnterior_Click(null, EventArgs.Empty);
            }
            else
            {
                actualizar_vista();
            }

            carg.Detener();
            return(true);
        }
Пример #3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            this.Opacity = 100;

            Cargando carg = new Cargando();

            carg.Ejecutar();

            recibidos = true;
            try {
                pagActual = 1;
                btnRecibidos_Click(null, e);
                carg.Detener();
            } catch {
                carg.Detener();
                this.Opacity = 0;

                new iniciar_sesion.iniciar_sesion().Show();
                var form2 = new frmAlert(this, "Error", "Hubo un inconveniente técnico.\n Vuelva a intentarlo más tarde.", "close");
                form2.Show();

                return;
            }
        }
Пример #4
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();
            }
        }