PABX da Simples IP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
3.5 KiB

<?php
require("phpmailer/class.phpmailer.php");
$setActPage = "index.php?action=recovery_password";
$email = isset($_POST['email']) ? $_POST['email'] : null;
echo 'vim aqui';
try {
if (isset($_POST['btEnviar'])) {
$config = GetEmail($dbcon);
if (!$config) {
throw new Exception("Nenhuma configura<EFBFBD><EFBFBD>o foi feita para o envio de Recupera<EFBFBD><EFBFBD>o");
}
$account = verificaEmail($dbcon, $email);
if(!$account){
throw new Exception("O email informado n<EFBFBD>o foi encontrado!");
}
$token = md5($account['id'] . $account['matricula'] . time());
$_SESSION['SSREcoveryPassword'] = ['token' => $token, 'id' => $account['id'], 'login' => $account['apelido']];
$link = "http://" . $_SERVER['SERVER_NAME'] . "/index.php?action=change_password&token=" . $token;
if ($account && enviaEmail($email, $link, $config, $account)) {
$jsStartup[] = "alert('Foi encaminhado o link para seu e-mail para a recupera<EFBFBD><EFBFBD>o de senha!');";
} else {
$jsStartup[] = "alert('N<EFBFBD>o foi poss<EFBFBD>vel enviar a senha de recupera<EFBFBD><EFBFBD>o! Verifique seu e-mail digitado ou entre em contato com seu supervisor.');";
}
}
} catch (Exception $ex) {
$msg = $ex->getMessage();
$jsStartup[] = "alert('$msg');";
}
$smarty->display('recuperarsenha.tpl');
function enviaEmail($email, $link, $dados, $account) {
try {
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = $dados["hosts"];
$mail->Port = $dados["porta"];
$mail->SMTPAuth = true;
if ($mail->SMTPAuth) {
$mail->Username = $dados["usuario"];
$mail->Password = $dados["senha"];
}
$mail->From = $dados["usuario"];
$mail->FromName = "RECUPERAR SENHA";
$mail->AddAddress($email);
$mail->IsHTML(true);
$mail->CharSet = 'iso-8859-1';
$mail->Subject = "RECUPERA<EFBFBD><EFBFBD>O DE SENHA";
$mail->Body = "<b>Para a sua seguran<EFBFBD>a n<EFBFBD>o forne<EFBFBD>a o seus dados e n<EFBFBD>o replique este e-mail!</b> "
. "<br><span style='color: blue'><b>Login:</b></span><i>{$account['apelido']}</i> "
. "<br><span style='color: blue'><b>Link Recupera<EFBFBD><EFBFBD>o:</b></span> <a href='$link'>{$link}</a>"
. "<br><br><span style='color: red'><b>OBS: COPIE O LINK NO MESMO NAVEGADOR QUE FOI SOLICITADO A ALTERA<EFBFBD><EFBFBD>O DE SENHA!</b></span>";
$mail->AltBody = "<b>Para a sua seguran<EFBFBD>a n<EFBFBD>o forne<EFBFBD>a o seus dados e n<EFBFBD>o replique este e-mail!</b> <br><span style='color: blue'><b>Login:</b></span><i>{$account['apelido']}</i> <br><span style='color: blue'><b>Link Recupera<EFBFBD><EFBFBD>o:</b></span> <a href='$link'>{$link}</a>";
if($mail->Send()){
$mail->ClearAllRecipients();
return true;
}
$erro = $mail->ErrorInfo;
return false;
} catch (Exception $ex) {
return false;
}
}
function verificaEmail($dbcon, $email) {
$query = "SELECT * FROM pbx_usuarios WHERE email = '$email';";
$result = pg_query($dbcon, $query);
$res = pg_fetch_assoc($result);
return $res;
}
function GetEmail($dbcon) {
$query = "SELECT hosts, usuario, senha, porta FROM pbx_confmail;";
$result = pg_query($dbcon, $query);
return pg_fetch_assoc($result);
}