在php邮件功能中添加smtp

时间:2014-11-06 15:52:34

标签: php email smtp

我需要帮助才能在忘记密码功能中添加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>');
}

?>

2 个答案:

答案 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配置发送电子邮件。