Мне нужна помощь, чтобы добавить smtp в мою забытую функцию пароля. Функция не отправляет электронную почту, я проверил ее с хостом, и они сказали, что я должен добавить их smtp в скрипт. Smtp: smtp.axentus.net
Я не знаю, где я должен добавить его и как.
Пожалуйста помоги.
<?php
$_language->read_module('lostpassword');
if(isset($_POST['submit'])) {
$email = trim($_POST['email']);
if($email!=''){
$ergebnis = safe_query("SELECT * FROM ".PREFIX."user WHERE email = '".$email."'");
$anz = mysql_num_rows($ergebnis);
if($anz) {
$newpwd=RandPass(6);
$newmd5pwd=md5($newpwd);
$ds = mysql_fetch_array($ergebnis);
safe_query("UPDATE ".PREFIX."user SET password='".$newmd5pwd."' WHERE userID='".$ds['userID']."'");
$ToEmail = $ds['email'];
$ToName = $ds['username'];
$vars = Array('%pagetitle%', '%username%', '%new_password%', '%homepage_url%');
$repl = Array($hp_title, $ds['username'], $newpwd, $hp_url);
$header = str_replace($vars, $repl, $_language->module['email_subject']);
$Message = str_replace($vars, $repl, $_language->module['email_text']);
if(mail($ToEmail,$header, $Message, "From:".$admin_email."\nContent-type: text/plain; charset=utf-8\n"))
echo str_replace($vars, $repl, '<div id="box-login">
<div id="box-login-content">
<form method="post" action="lostpassword/">
<b>Your account '.$ds['email'].' has been found.</b><br /><br />
You will get an e-mail with your account data in a few seconds.
</form>
</div>
</div>');
}
?>
Я бы посоветовал использовать PHPMailer (https://github.com/PHPMailer/PHPMailer/http://phpmailer.worxware.com/) - он очень прост в использовании, я сам его использую для сайта, которому требуется smtp
Для отправки с использованием SMTP с помощью PHPMailer просто добавьте строки:
$mail->IsSMTP();
$mail->Host = "smtp.axentus.net";
вы можете взглянуть на http://4rapiddev.com/php/phpmailer-send-email-html-content-with-utf-8-encoding/, который предоставляет полный исходный код php для того, чтобы вы могли настроить отправку электронной почты через SMTP,