У меня есть почтовый скрипт, который работал нормально, и я не могу понять, что изменилось, что не вызывает прохождение «from».
У меня есть этот код в функции почты
$to = ($_POST['email']);
$subject = 'Welcome to the Team!';
$url = 'mydomain.com';
$headers = "From: [email protected]\r\n";
$headers = "BCC: [email protected]\r\n";
$headers = "MIME-Version: 1.0\r\n";
$headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";
...
mail($to, $subject, $message, $headers);
Проблема в том, что когда приходит электронное письмо, «from» выглядит так:
От: (мой домен) @ (Someletters&числа) .shr.phx3. (MyHost) .net
вместо …
Что происходит?
ОБНОВЛЕНИЕ С ПОЛНЫМ КОДОМ
...
if(count($errors) == 0) {
$to = '[email protected]';
$subject = 'Subject';
$headers = "From: me@ mydomain.com\r\n";
$headers = "BCC: someonelese@ mydomain.com\r\n";
$headers = "MIME-Version: 1.0\r\n";
$headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "<html><body>…Email Message 1…</body></html>";
mail($to, $subject, $message, $headers);
}
if(count($errors) == 0) {
$to = ($_POST['email']);
$subject = 'Subject';
$url = 'mydomain.caom';
$headers = "From: me@ mydomain.com\r\n";
$headers = "BCC: someonelese@ mydomain.com\r\n";
$headers = "MIME-Version: 1.0\r\n";
$headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "<html><body>…Email Message 2…</body></html>";
mail($to, $subject, $message, $headers);
echo '<META HTTP-EQUIV=Refresh CONTENT="1; URL='.$url.'">';
}
Ваши заголовки разбиты, и их необходимо объединить, используя точку после первого объявления:
$headers = "From: [email protected]\r\n";
$headers .= "BCC: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
Обратитесь к руководству:
Редактировать:
Переименуйте ваш второй набор заголовков в $headers
, например:
if(count($errors) == 0) {
$to = '[email protected]';
$subject = 'Subject';
$headers = "From: me@ mydomain.com\r\n";
$headers .= "BCC: someonelese@ mydomain.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message .= "<html><body>…Email Message 1…</body></html>";
mail($to, $subject, $message, $headers);
}
if(count($errors) == 0) {
$to = ($_POST['email']);
$subject = 'Subject';
$url = 'mydomain.caom';
$headers2 = "From: me@ mydomain.com\r\n";
$headers2 .= "BCC: someonelese@ mydomain.com\r\n";
$headers2 .= "MIME-Version: 1.0\r\n";
$headers2 .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "<html><body>…Email Message 2…</body></html>";
mail($to, $subject, $message, $headers2);
echo '<META HTTP-EQUIV=Refresh CONTENT="1; URL='.$url.'">';
}
Других решений пока нет …