我需要帮助才能在忘记密码功能中添加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>');
}
?>
答案 0 :(得分:0)
我建议使用PHPMailer(https://github.com/PHPMailer/PHPMailer / http://phpmailer.worxware.com/) - 它非常易于使用,我自己将它用于需要smtp的网站
要使用带有PHPMailer的SMTP发送,只需添加以下行:
$mail->IsSMTP();
$mail->Host = "smtp.axentus.net";
答案 1 :(得分:0)
您可以查看http://4rapiddev.com/php/phpmailer-send-email-html-content-with-utf-8-encoding/,它提供了完整的php源代码,您可以通过SMTP配置发送电子邮件。