private void salvarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(Txt_Porta.Text))
            {
                Model.Email EmailBase = new Model.Email();

                EmailBase.email = Txt_Email.Text;
                EmailBase.Senha = Txt_Senha.Text;
                EmailBase.Host = Txt_Host.Text;
                EmailBase.Port = int.Parse(Txt_Porta.Text);

                if (ControllerEmail.VerificarInformacoesDoServidorSMTP(EmailBase))
                {
                    string saida = ControllerEmail.SalvarInformacoesLoginServidor(EmailBase.email, EmailBase.Senha, EmailBase.Host, EmailBase.Port);

                    MessageBox.Show(saida, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Informações do servidor SMTP inválidos, verifique seu Login/Senha e as informações do seu servidor.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Insira um valor válido para a porta do seu servidor", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
예제 #2
0
        public IActionResult Post([FromBody] Model.Email emailJson)
        {
            if (emailJson.email.Equals(null))
            {
                return(BadRequest("Please enter a valid email!"));
            }
            using (var db = new Model.EmailModel())
            {
                List <Model.Email> emails = (List <Model.Email>)db.Emails.FromSql("select * from Emails where email is {0}", emailJson.email).ToList();
                if (emails.Count != 0)
                {
                    return(BadRequest("You have already subscribed!"));
                }
            }

            if (!Util.EmailSender.sendEmail("*****@*****.**", emailJson.email))
            {
                return(BadRequest("Please enter a valid email!"));
            }

            using (var db = new Model.EmailModel())
            {
                db.Emails.Add(new Model.Email {
                    email = emailJson.email
                });
                db.SaveChanges();
                return(Ok("Thanks for subscribed us!"));
            }
        }
예제 #3
0
        private void salvarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(Txt_Porta.Text))
            {
                Model.Email EmailBase = new Model.Email();

                EmailBase.email = Txt_Email.Text;
                EmailBase.Senha = Txt_Senha.Text;
                EmailBase.Host  = Txt_Host.Text;
                EmailBase.Port  = int.Parse(Txt_Porta.Text);

                if (ControllerEmail.VerificarInformacoesDoServidorSMTP(EmailBase))
                {
                    string saida = ControllerEmail.SalvarInformacoesLoginServidor(EmailBase.email, EmailBase.Senha, EmailBase.Host, EmailBase.Port);

                    MessageBox.Show(saida, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Informações do servidor SMTP inválidos, verifique seu Login/Senha e as informações do seu servidor.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Insira um valor válido para a porta do seu servidor", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        private void Frm_ConfigEmail_Load(object sender, EventArgs e)
        {
            //Carregando informações do arquivo.

            Model.Email EmailBase = new Model.Email();
            EmailBase = ControllerEmail.CarregarInformacoesLoginServidor();

            Txt_Email.Text = EmailBase.email;
            Txt_Senha.Text = EmailBase.Senha;
            Txt_Host.Text = EmailBase.Host;
            Txt_Porta.Text = EmailBase.Port.ToString();
        }
예제 #5
0
        private void Frm_ConfigEmail_Load(object sender, EventArgs e)
        {
            //Carregando informações do arquivo.

            Model.Email EmailBase = new Model.Email();
            EmailBase = ControllerEmail.CarregarInformacoesLoginServidor();

            Txt_Email.Text = EmailBase.email;
            Txt_Senha.Text = EmailBase.Senha;
            Txt_Host.Text  = EmailBase.Host;
            Txt_Porta.Text = EmailBase.Port.ToString();
        }
        private void Frm_ConfigEmail_Load(object sender, EventArgs e)
        {
            //Carregando informações do arquivo.
            ControllerEmail controllerEmail = new ControllerEmail();

            Model.Email EmailBase = new Model.Email();
            EmailBase = controllerEmail.LoadConfig();

            Txt_Email.Text = EmailBase.EnderecoEmail;
            Txt_Senha.Text = EmailBase.Senha;
            Txt_Host.Text = EmailBase.Host;
            Txt_Porta.Text = EmailBase.Port.ToString();
        }
예제 #7
0
        public async Task <bool> GetBody(Model.Email email)
        {
            Imap imap = GetAvailableConnection();

            try
            {
                return(await ReadBody(imap, email));
            }
            finally
            {
                _imapConnections.Enqueue(imap);
            }
        }
        private void salvarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Model.Email EmailBase = new Model.Email();
            ControllerEmail controllerEmail = new ControllerEmail();

            EmailBase.EnderecoEmail = Txt_Email.Text;
            EmailBase.Senha = Txt_Senha.Text;
            EmailBase.Host = Txt_Host.Text;
            EmailBase.Port = int.Parse(Txt_Porta.Text);
            controllerEmail.SaveConfig(EmailBase.EnderecoEmail, EmailBase.Senha, EmailBase.Host, EmailBase.Port);

            MessageBox.Show(controllerEmail.SaveConfig(EmailBase.EnderecoEmail, EmailBase.Senha, EmailBase.Host, EmailBase.Port), "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //Mostrando o resultado da Função SaveConfig();
        }
예제 #9
0
        public async IAsyncEnumerable <Model.Email> GetHeaders(Model.UserInfo userInfo, [EnumeratorCancellation] CancellationToken token)
        {
            Imap imap = GetAvailableConnection();

            try
            {
                if (_stackUids == null)
                {
                    var uids = await Task.Run(() => imap.Search(Flag.All));

                    _stackUids = new Stack <long>(uids);
                }

                if (_stackUids.Count > 0)
                {
                    // If scroll is turned on, load only the qty requested by scroll
                    int qtyLoad = !_settings.QtyEmailsByScroll.HasValue ? _stackUids.Count : _settings.QtyEmailsByScroll.Value;

                    for (int i = 1; i <= qtyLoad; i++)
                    {
                        if (_stackUids.TryPop(out long uid))
                        {
                            var messageInfo = await Task.Run(() => imap.GetMessageInfoByUID(uid));

                            Model.Email email = new Model.Email
                            {
                                Uid                 = messageInfo.UID.ToString(),
                                Date                = messageInfo.Envelope.Date ?? DateTime.MinValue,
                                Subject             = messageInfo.Envelope.Subject,
                                ListFrom            = messageInfo.Envelope.From.Select(f => $"{f.Name} <{f.Address}>").ToList(),
                                AttachmentsQuantity = messageInfo.BodyStructure.Attachments.Count
                            };

                            yield return(email);
                        }
                        else
                        {
                            break;
                        }
                    }
                }
            }
            finally
            {
                _imapConnections.Enqueue(imap);
            }
        }
예제 #10
0
        private Model.Email Preencher(DataTable dt)
        {
            Model.Email email = new Model.Email();

            if (dt.Rows.Count > 0)
            {
                DataRow dr = dt.Rows[0];

                email.Porta     = DataHelper.ToGenericValue <int>(dr, "PORTA");
                email.Smtp      = DataHelper.ToGenericValue <string>(dr, "SMTP");
                email.Usuario   = DataHelper.ToGenericValue <string>(dr, "USUARIO");
                email.Senha     = DataHelper.ToGenericValue <string>(dr, "SENHA");
                email.Assunto   = DataHelper.ToGenericValue <string>(dr, "ASSUNTO");
                email.From      = DataHelper.ToGenericValue <string>(dr, "FROM");
                email.To        = DataHelper.ToGenericValue <string>(dr, "TO");
                email.EnableSsl = DataHelper.ToGenericValue <bool>(dr, "enableSsl");
            }

            return(email);
        }
예제 #11
0
        private async Task <bool> ReadBody(Imap imap, Model.Email email)
        {
            return(await Task.Run(() =>
            {
                lock (email)
                {
                    if (string.IsNullOrEmpty(email.Body))
                    {
                        BodyStructure structure = imap.GetBodyStructureByUID(Convert.ToInt64(email.Uid));

                        if (structure?.Html != null)
                        {
                            email.Body = imap.GetTextByUID(structure.Html);
                            return true;
                        }
                    }

                    return false;
                }
            }));
        }
예제 #12
0
 private async Task <bool> ReadPop3EmailBody(Pop3 pop3, Model.Email email)
 {
     return(await Task.Run(() =>
     {
         lock (email)
         {
             if (string.IsNullOrEmpty(email.Body))
             {
                 var msg = pop3.GetMessageByUID(email.Uid);
                 MailBuilder builder = new MailBuilder();
                 IMail mail = builder.CreateFromEml(msg);
                 email.Body = mail.Text;
                 if (mail.Attachments != null)
                 {
                     // show attachment in email and when user clicks the attachment it should download
                     saveAttachmentToDisk(email.Uid, pop3);
                 }
                 return true;
             }
             return false;
         }
     }));
 }
예제 #13
0
        public Email DefinirPropriedades(Intelbras.Message.Helper.MSG0304 xml)
        {
            var crm = new Model.Email(this.Organizacao, this.IsOffline);

            return(crm);
        }
예제 #14
0
        public async Task <bool> GetBody(Model.Email email, Model.UserInfo userInfo)
        {
            using Imap imap = await Connect(userInfo);

            return(await ReadBody(imap, email));
        }