не может отправлять электронную почту на собственный домен, но может для другого домена, например, как Gmail - PullRequest
0 голосов
/ 17 февраля 2012

Я хочу отправить новый пароль по электронной почте, когда пользователь забудет свой пароль для входа на мой сайт. Не удается отправить электронное письмо, если это не адрес Gmail. Кто-нибудь может объяснить, в чем проблема?

<?php
$email_address=$_POST['email_to'];
$tbl_name=user;

$query="SELECT * FROM user WHERE email = '$email_address'";
$st=mysql_query($query);
$recs=mysql_num_rows($st);

if ($recs == 0)
{
    echo "<center><font face='Verdana' size='2' color=red><b>No Password</b><br> Sorry Your address is not there in our database . You can signup and login to use our site. <BR><BR>       </center>";
    exit;
}


if ($recs == 1){
function makeRandomPassword() 
{
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;
while ($i <= 7) 
{
$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
   $i++;
}
   return $pass;
}

$random_password = makeRandomPassword();
$db_password = md5($random_password);

$sql = mysql_query("UPDATE user SET   password='$db_password',display_pass='$random_password'  WHERE email='$email_address'");

echo "New Password has been send to your email.";
echo "<a href='index.php'>Back</a>";

//------- SEND MAIL FORM --------

$to=$email_address;
$subject="Your password here";

$header="from: Admin Ayam Kampung Lingnan <your email>";

// Your message
$messages= "Password Anda untuk login ke website Lingnan \r\n";
$messages.="Password Anda Adalah: $random_password \r\n";
$messages.="Mohon untuk tidak di balas, karena ini adalah email otomatis \r\n";

// send email
$sentmail = mail($to,$subject,$messages,$header);

}
}
?>

1 Ответ

0 голосов
/ 17 февраля 2012

Недопустимая строка заголовка.

Если заголовок From содержит имя и это имя содержит пробелы, имя должно быть заключено в кавычки.

Попробуйте:

$header="From: \"Admin Ayam Kampung Lingnan\" <emailaddress@example.com>";

Хотя вы должны учитывать, что отправка с любого адреса электронной почты, который не является локальным доменом вашего почтового сервера, имеет большие шансы быть заблокированным в какой-то момент или, по крайней мере, с большей вероятностью будет помечен как спам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...