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()); } }
protected void Page_Load(object sender, EventArgs e) { ThreadStart work = delegate { Email email = new Email(); email.ReEnviaEmail(); }; new Thread(work).Start(); }
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> </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> </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 ""; } }
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; }
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(); }