я есть PHPmailer библиотека. Это код, который является напоминанием пароля. Когда вы добавляете свою электронную почту для ввода, она отправляет забытый пароль на вашу электронную почту. Этот код отправляет только через php почту, но так как мой хост не разрешает это, единственным вариантом будет использование SMTP, верно? Так что это PHP-код с формой:
<div class="tab-pane fade <?php
if ($tab == 'ForgotPass') {
echo 'active in';
}
?>" id="forgotpass">
<form role="form2" action="index?tab=ForgotPass" method="POST">
<fieldset>
<?php
@$_SESSION['email'] = $_POST['email'];
?>
<hr class="colorgraph">
<div class="form-group">
<input type="email" name="email" maxlength="64" id="email" class="form-control input-lg" placeholder="El. paštas" value="<?= $_SESSION['email'] ?>" required>
</div>
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6">
<input type="submit" name="forgot" class="btn btn-lg btn-success btn-block" value="send">
</div>
</div>
</fieldset>
</form>
<?phpif (isset($_POST['forgot'])) {
$email = $_POST['email'];
if (empty($email)) {
echo errorbox("Please enter email.");
} else {
$check = mysql_query("SELECT * FROM users WHERE email='$email'");
$row2 = mysql_fetch_assoc($check);
if (mysql_num_rows($check) > 0) {
$query = mysql_query("SELECT * FROM settings");
$row = mysql_fetch_assoc($query);
$subject = 'Forgot Password - ' . $row['title'] . '';
$message = '
<center>
<a href="' . $row['url'] . '" title="Visit ' . $row['url'] . '" target="_blank">
<h1><img src="' . $row['url'] . '' . $row['logo'] . '" title="' . $row['title'] . '"> ' . $row['title'] . '</h1>
</a><br />
<b>Registration details:</b><br />
Username: ' . $row2['username'] . '<b></b><br />
Password: ' . $row2['password'] . '<b></b><br />
</center>
';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'To: ' . $email . ' <' . $email . '>' . "\r\n";
$headers .= 'From: ' . $row['email'] . ' <' . $row['email'] . '>' . "\r\n";
@mail($to, $subject, $message, $headers);
echo okbox("We have just sent you your forgotten data from your account on the entered E-Mail Address");
} else {
echo errorbox("There is no player with such email.");
}
}
}
?>
И у меня тоже есть это SMTP настроенный код, который просто отправляет сообщение для проверки электронной почты, и я уже проверил, он работает, он отправляет сообщение, теперь мне нужно как-то сделать так, чтобы он отправлял пароль на электронную почту пользователя:
<?php
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "mail.website.com";
$mail->SMTPAuth = true;
//$mail->SMTPSecure = "ssl";
$mail->Port = 25;
$mail->Username = "[email protected]";
$mail->Password = "emailpass";
$mail->From = "[email protected]";
$mail->FromName = "Test User";
$mail->AddAddress("[email protected]");
//$mail->AddReplyTo("[email protected]");
$mail->IsHTML(true);
$mail->Subject = "Test message from server via SMTP Authentication";
$mail->Body = "Test Mail sent via SMTP Authentication";
//$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
?>
Задача ещё не решена.
Других решений пока нет …