2013-06-16 3 views
0

У меня возникла проблема с отправкой сообщений электронной почты при добавлении информации заголовка. Однако, когда я просто удаляю параметр заголовка, он работает. Что не так? Это код? Или некоторые настройки, которые мне нужно изменить на панели администратора веб-сервера, чтобы сказать «Разрешить заголовки» или что-то еще? Я пытаюсь отправить hotmail в случае, если это имеет какое-либо отношение к определению проблемы. Любая помощь будет принята с благодарностью. Благодарю.PHP - не отправляет письма с информацией заголовка

Ниже Не Отправить на e-mail:

<?php 

    $to  = '[email protected]'; 
    $subject = 'the subject'; 
    $message = 'hello'; 
    $headers = 'From: [email protected]'; 

    mail($to, $subject, $message, $headers); 

?> 

Ниже Посылает Email:

<?php 

    $to = '[email protected]'; 
    $subject = 'the subject'; 
    $message = 'hello'; 
    $headers = 'From: [email protected]'; 

    mail($to, $subject, $message); 

?> 
+0

Попробуйте отправить в Gmail и посмотреть его в спаме. Hotmail имеет тенденцию отбрасывать электронные письма, которые не соблюдают стандарты RFC. – transilvlad

+0

Попробуйте добавить '\ n' в конец' $ headers', но это всего лишь предположение. –

+0

@PetrR. На самом деле он должен добавить \ r \ n, но сервер также должен добавить его, если его нет. – transilvlad

ответ

1

я использую эти заголовки в моем PHP рассылки функции и она хорошо работает. Примечание: Я также использую стороннюю службу маршрутизации почты, чтобы избежать того, чтобы мои письма помечены как исходящие от спам-IP. Возможно, вы захотите также изучить это.

$headers = 'From: '.$from.'@foo.net' . "\r\n" . 
'Reply-To: '.$from.'@foo.net' . "\r\n" . 
'X-Mailer: PHP/' . phpversion() . "\r\n" . 
'MIME-Version: 1.0' . "\r\n" . 
'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

Я также использовать дополнительный пятый параметр для mail(), чтобы установить адрес конверта, например:

$parameters = '-f '.$from.'@foo.net'; 

поэтому окончательный вызов является:

mail($to, $subject, $message, $headers, $parameters); 
0

Вы можете просто удалить " FROM: "из списка заголовков .. он предотвращает его на некоторых хостах. Но тогда будет реальный вопрос: как я могу изменить отправку с адреса электронной почты на конкретное письмо, которое я хочу