我正在創建一個'忘記密碼'頁面,用戶輸入他們的電子郵件地址,腳本找到與該電子郵件關聯的密碼,並將其發送到存儲的電子郵件地址。警告:mail()[function.mail]:SMTP服務器響應:550無效收件人:
我相信問題與我的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.";
}
的$味精輸出正常,所以我知道代碼是通過郵件功能。
如果錯誤信息「無效收件人」後面沒有電子郵件地址,我敢打賭,'$ email'變量是空的。 – 2012-03-10 16:44:44
var_dump你的變量,看看他們是否你期望他們是第一。如果他們是那麼問題可能與您的SMTP配置,在這種情況下,你可能想在serverfault上發佈。 – j08691 2012-03-10 16:48:43
它的'不空。第二個if語句中的$ msg變量正在輸出。它攜帶$ email變量並正確顯示。 「$ msg =」您的密碼已發送至「。$ email。」。「;」作品。 – 2012-03-10 17:02:13