1

我有一个简单的密码发送,当他们输入他们的电子邮件时会向他们发送他们的密码,但唯一的问题是当我加载页面时出现错误

添加收件人失败:@localhost [SMTP:从服务器收到的响应代码无效(代码:501,响应:<@localhost>:没有本地部分)]

我知道信息是正确的。这是代码-(是的,我知道不使用 mysqli 是不安全的。这是为了快速。)

 <?php
  $username = "sdfsdfsdf";
  $password = "sdfsdfsdf";
  $hostname = "dsfsdfsdf";    
  $dbconn = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
  $emailto  = $_POST['email'];

  $database = mysql_select_db("jjlliinn_test",$dbconn);

  $query  = "SELECT password FROM agentclient WHERE email = '$emailto'";
  $result = mysql_query($query) or die(mysql_error());
  $data = mysql_fetch_assoc($result);



// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // 
 require_once "Mail.php";

 $from = "JLP <no-reply@sdfsdfsdfsdfsdfsdfsdf.net>";
 $to = "$toemail";
 $subject = "Your password";
 $body = "Hi,\n\nYour password is $data.";

 $mailhost = "mail.sdfsdfsdfsdf.net";
 $mailusername = "no-reply@sdfsdfsdfsdf.net";
 $mailpassword = "Uq?sdfsdfsdfsdfsdf-";

 $headers = array ('From' => $from,
   'To' => $to,
   'Subject' => $subject);
 $smtp = Mail::factory('smtp',
   array ('host' => $mailhost,
     'auth' => true,
     'username' => $mailusername,
     'password' => $mailpassword));

 $mail = $smtp->send($to, $headers, $body);

 if (PEAR::isError($mail)) {
   echo("<p>" . $mail->getMessage() . "</p>");
  } else {
   echo("<p>Password successfully sent!</p>");
  }
    mysql_close($dbconn);  
 ?>
4

2 回答 2

0

您没有在本地主机上配置 SMTP 服务器,您应该在此处查看:

如何配置 WAMP (localhost) 以使用 Gmail 发送电子邮件? http://rajeshstutorials.blogspot.com/2012/04/how-to-set-up-smtp-server-on-localhost.html

应该有帮助。

于 2013-06-05T10:28:24.377 回答
0

localhost由于此拼写错误,您的代码会向 发送任何电子邮件:

 $to = "$toemail"; # empty-string assignment! Should be "$emailto"
于 2017-01-10T16:56:14.430 回答