【发布时间】:2012-03-10 16:41:27
【问题描述】:
我正在创建一个“忘记密码”页面,用户在其中输入他们的电子邮件地址,脚本会找到与该电子邮件关联的密码,并将其发送到存储的电子邮件地址。
我认为问题与我的 SMTP 邮件服务器有关。我正在使用没有的 WAMP,所以我下载了一个免费的。
这是我正在使用的 php 脚本:
$id = checkEmail($email);
$record = readMemberRecord($id);
$password = @mysql_result($record,0,'cred');
if($password){
$email_subject = "Email Request";
$email_body = "Your password is ".$password.".";
$header = "NinjaMan";
mail($email, $email_subject, $email_body,$header);
$msg = "Your password has been sent to ".$email.".";
}else{
$msg = "Sorry, the email ".$email." wasn't found.";
}
$msg 输出正确,所以我知道代码正在传递邮件函数。
【问题讨论】:
-
如果错误消息“无效收件人”后面没有电子邮件地址,我敢打赌
$email变量为空。 -
var_dump 你的变量,看看它们是否是你期望它们首先出现的。如果是,那么问题可能出在您的 SMTP 配置上,在这种情况下,您可能希望在 serverfault 上发布。
-
它不是空的。正在输出第二个 if 语句中的 $msg 变量。它带有 $email 变量并正确显示。 "$msg = "您的密码已发送到 ".$email.".";"工作。
-
您是否尝试过使用 telnet 解决此问题?这也可能是端口问题。
标签: php