проблема с php mail 'From' header

Я исправил это, просто удалив приложение с моего устройства и перестроил.

29
задан jrharshath 8 June 2011 в 16:34
поделиться

8 ответов

Редактировать: я только что заметил, что вы пытаетесь использовать адрес Gmail в качестве значения от. Это не сработает , и интернет-провайдер правильно его перезаписывает. Если вы хотите перенаправить ответы на исходящие сообщения, используйте reply-to.

Обходной путь для действительных адресов, который работает со многими интернет-провайдерами:

попробуйте добавить пятый параметр в команду mail():

mail($to,$subject,$message,$headers,"-f your@email.here");
56
ответ дан Pekka 웃 8 June 2011 в 16:34
поделиться

Оказывается, на сервере оригинального автора (blueHost) есть FAQ по этому вопросу .

Статья 206.


Это потому, что наши серверы требуют, чтобы вы (или ваш скрипт) использовали правильно отформатированное, действительное поле From: в заголовке письма. Если поле От: не отформатировано правильно, пусто или адрес электронной почты не существует в cPanel, адрес От: будет изменен на username@box###.bluehost.com.

Вы должны изменить сценарий, который используете, чтобы правильно использовать допустимые From: header.

Примеры заголовков, которые должны работать:

From: user@domain.com
From: "user" < user@domain.com>

Примеры заголовков, которые НЕ будут работать:

From: "user @ domain.com "
From: user @ domain.com
From: user@domain.com < user@domain.com>

Наши серверы будут не принимать имя для адреса электронной почты и адрес электронной почты, чтобы быть одинаковыми. Он не примет двойную декларацию адреса электронной почты.

Для таких сценариев, как Joomla и Wordpress, вам необходимо следовать их документации для правильного форматирования полей from. Для Wordpress потребуется плагин Mail From.

Примечание. Используемый вами адрес электронной почты должен быть действительной учетной записью в cPanel.

20
ответ дан Machavity 8 June 2011 в 16:34
поделиться

Для предотвращения фишинга некоторые почтовые серверы не позволяют перезаписывать From.

4
ответ дан Luís Guilherme 8 June 2011 в 16:34
поделиться

У меня была такая же проблема, я проверил сайт php.net. И нашел правильный формат.
Это мой обновленный код.

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

\ r \ n должны быть в двойные кавычки (") , одинарные кавычки (') не будут работа.

14
ответ дан Eugine Joseph 8 June 2011 в 16:34
поделиться

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

$header = 'From: XXXXXXXX <test@test.org>' . "\r\n";
1
ответ дан Anahit DEV 8 June 2011 в 16:34
поделиться

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

Если вы действительно хотите отправлять почту с «@ gmail.com», почему бы просто не воспользоваться службой SMTP gmail? Если вы не можете перенастроить сервер, на котором работает PHP, то существует множество инструментов для работы с электронной почтой, которые позволяют вам задавать настраиваемые SMTP-реле phpmailer.

С

0
ответ дан symcbean 8 June 2011 в 16:34
поделиться

Я понимаю, что это старая ветка, но у меня была та же проблема, так как я вчера переехал в bluehost. Возможно, это не был выбранный ответ, но я поддерживаю ответ по статье bluehost 206.

Я создал действительное электронное письмо на панели управления и использовал его в качестве своего адреса «От», и он работал.

1
ответ дан Rvenca 8 June 2011 в 16:34
поделиться

На моем виртуальном хостинге у меня не работали заголовки, причина в том, что я использовал свой адрес электронной почты hotmail в заголовке. я создал письмо на своей cpanel и установил это же письмо в заголовке, да, это сработало как шарм!

 $header = 'From: ShopFive <site@mysite.org>' . "\r\n";
0
ответ дан Stefan 8 June 2011 в 16:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: