示例#1
0
        private void EnviaEmail(Banco banco, Int64 idDenuncia, String userName, String texto, String cnpj, String razaoSocial)
        {
            ArrayList destinatarios = new ArrayList();

            banco.AddParameter("idDenuncia", idDenuncia);

            using (MySqlDataReader reader = banco.ExecuteReader("SELECT Email FROM notificacoes, users WHERE notificacoes.idDenuncia = @idDenuncia AND notificacoes.UserName = users.UserName", 300))
            {
                while (reader.Read())
                {
                    destinatarios.Add(reader["Email"].ToString());
                }
            }

            if (destinatarios.Count > 0)
            {
                StringBuilder corpo = new StringBuilder();

                corpo.Append(@"<html><head><title>O.P.S.</title></head><body><table width=""100%""><tr><td><center><h3>O.P.S. - Operação Política Supervisionada</h3></center></td></tr><tr><td><i>Um novo comentário foi adicionado a sua denúncia.</i></td></tr><tr><td><table><tr><td valign=""top""><b>Denúncia:</b></td><td>");
                corpo.Append(@"<a href=""http://www.ops.net.br/Denuncias.aspx"">" + idDenuncia.ToString("0000") + "</a></td></tr>");
                corpo.Append(@"<tr><td valign=""top""><b>Fornecedor:</b></td><td>");
                corpo.Append(cnpj + " - " + razaoSocial);
                corpo.Append(@"</td></tr>");
                corpo.Append(@"<tr><td valign=""top""><b>Usuário:</b></td><td>");
                corpo.Append(userName);
                corpo.Append(@"</td></tr><tr><td valign=""top""><b>Texto:</b></td><td>");
                corpo.Append(texto);
                corpo.Append(@"</td></tr></table></td></tr></table></body></html>");

                Email envio = new Email();
                envio.Enviar(destinatarios, "[O.P.S.] Novo Comentário", corpo.ToString());
            }
        }
示例#2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     ThreadStart work = delegate
     {
         Email email = new Email();
         email.ReEnviaEmail();
     };
     new Thread(work).Start();
 }
示例#3
0
        public void EnviaEmail(String cnpj)
        {
            ThreadStart work = delegate
            {
                Email envio = new Email();
                StringBuilder corpo = null;

                StringBuilder sql = new StringBuilder();

                sql.Append("SELECT users.Email, fornecedores.Uf, fornecedores.Cidade");
                sql.Append("  FROM fornecedores, users, users_detail");
                sql.Append(" WHERE txtCNPJCPF            = @txtCNPJCPF");
                sql.Append("   AND users_detail.username = users.username");
                sql.Append("   AND users_detail.uf       = fornecedores.Uf");

                using (Banco banco = new Banco())
                {
                    banco.AddParameter("txtCNPJCPF", cnpj);

                    using (DataTable table = banco.GetTable(sql.ToString(), 300))
                    {
                        foreach (DataRow row in table.Rows)
                        {
                            if (corpo == null)
                            {
                                corpo = new StringBuilder();

                                corpo.Append(@"<html><head><title>O.P.S.</title></head><body><table width=""100%""><tr><td><center><h3>O.P.S. - Operação Política Supervisionada</h3></center></td></tr>");
                                corpo.Append(@"<tr><td>&nbsp;</td></tr>");
                                corpo.Append(@"<tr><td>Precisamos da sua ajuda para levantar informações na cidade de <b>" + row["cidade"] + " - " + row["uf"] + @"</b>. Na maioria das vezes precisamos de uma fotografia atualizada de algum endereço suspeito. Em alguns poucos casos precisamos de documentos na junta comercial. Se você tiver disponibilidade e for maior de 18 anos entre em contado no email <a href=""mailto:[email protected]"">[email protected]</a> para receber as instruções.</td></tr>");
                                corpo.Append(@"<tr><td>&nbsp;</td></tr>");
                                corpo.Append(@"<tr><td>Para visualizar todas as cidades onde precisamos de sua ajuda acesse o <a href=""http://www.ops.net.br/CidadesPendencia.aspx"">Portal da OPS</a>.</td></tr>");
                                corpo.Append(@"</table></body></html>");
                            }

                            ArrayList destinatario = new ArrayList();
                            destinatario.Add(row["Email"]);
                            envio.Enviar(destinatario, "[O.P.S.] Nova Pendência", corpo.ToString());
                        }
                    }
                }
            };
            new Thread(work).Start();
        }
        public String RecuperaSenhaEmail(String userName)
        {
            string email = "";
            using (Banco banco = new Banco())
            {
                banco.AddParameter("username", userName);
                using (var dReader = banco.ExecuteReader("SELECT Email, UserName FROM users WHERE username = @username or Email = @username"))
                {
                    if (dReader.Read())
                    {
                        if (dReader["Email"] == DBNull.Value)
                        {
                            return "Usuário não encontrado.";
                        }

                        userName = dReader["UserName"].ToString();
                        email = dReader["Email"].ToString();
                    }
                    else
                    {
                        return "Usuário não encontrado.";
                    }
                }

                var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                var random = new Random();
                var chave = new string(
                    Enumerable.Repeat(chars, 30)
                              .Select(s => s[random.Next(s.Length)])
                              .ToArray());

                ArrayList destinatario = new ArrayList();
                destinatario.Add(email);

                Email envio = new Email();

                if (envio.Enviar(destinatario, "[O.P.S.] Recuperação de senha", @"<html><body><p>Você solicitou a recuperação de senha no portal da OPS. Caso não tenha feito esta solicitação ignore este e-mail. <a href='http://ops.net.br/Account/ResetPassword.aspx?chave=" + chave + @"'>Clique aqui para gerar uma nova senha.</a></p></body></html>") == false)
                {
                    return "Ocorreu um problema ao tentar recuperar sua senha. Tente novamente.";
                }
                else
                {
                    banco.AddParameter("data", DateTime.Now.AddDays(-5));
                    banco.AddParameter("username", userName);
                    banco.ExecuteNonQuery("DELETE FROM user_recover WHERE username = @username AND data < @data");

                    banco.AddParameter("chave", chave);
                    banco.AddParameter("username", userName);
                    banco.ExecuteNonQuery("INSERT INTO user_recover (chave, username, data) VALUES (@chave, @username, NOW())");
                }

                return "";
            }
        }
示例#5
0
		public Boolean RecuperarSenha(String userName)
		{
			MySqlMembershipProvider provider = new MySqlMembershipProvider();
			String pass = provider.ResetPassword(userName, "");
			System.Web.Security.MembershipUser user = provider.GetUser(userName, false);

			System.Collections.ArrayList destinatario = new System.Collections.ArrayList();
			destinatario.Add(user.Email);

			Email email = new Email();
			email.Enviar(destinatario, "[O.P.S.] Recuperação de senha", "Senha: " + pass);

			return true;
		}
示例#6
0
        public void EnviaEmail()
        {
            ThreadStart work = delegate
            {
                ArrayList destinatarios = new ArrayList();

                using (Banco banco = new Banco())
                {
                    banco.AddParameter("idDenuncia", IdDenuncia);

                    using (MySqlDataReader reader = banco.ExecuteReader("SELECT Email FROM users, usersinroles WHERE usersinroles.Username = users.Username AND usersinroles.Rolename = 'REVISOR'", 300))
                    {
                        while (reader.Read())
                        {
                            destinatarios.Add(reader["Email"].ToString());
                        }
                    }
                }

                StringBuilder corpo = new StringBuilder();

                corpo.Append(@"<html><head><title>O.P.S.</title></head><body><table width=""100%""><tr><td><center><h3>O.P.S. - Operação Política Supervisionada</h3></center></td></tr><tr><td><i>Uma nova denúncia foi feita.</i></td></tr><tr><td><table><tr><td valign=""top""><b>Denúncia:</b></td><td>");
                corpo.Append(@"<a href=""http://www.ops.net.br/Revisao.aspx"">" + IdDenuncia.ToString("0000") + "</a></td></tr>");
                corpo.Append(@"<tr><td valign=""top""><b>Fornecedor:</b></td><td>");
                corpo.Append(Cnpj + " - " + RazaoSocial);
                corpo.Append(@"</td></tr>");
                corpo.Append(@"<tr><td valign=""top""><b>Usuário:</b></td><td>");
                corpo.Append(UsuarioDenuncia);
                corpo.Append(@"</td></tr>");
                corpo.Append(@"<tr><td valign=""top""><b>Texto:</b></td><td>");
                corpo.Append(Texto);
                corpo.Append(@"</td></tr></table></td></tr></table></body></html>");

                Email envio = new Email();
                envio.Enviar(destinatarios, "[O.P.S.] Nova Denúncia", corpo.ToString());
            };
            new Thread(work).Start();
        }