<?php
require("phpmailer/class.phpmailer.php");
$setActPage = "index.php?action=recovery_password";
$email = isset($_POST['email']) ? $_POST['email'] : null;
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);
}