|
|
|
| Добрый день!
Код отправки сообщения выглядит так:
<?php
$subject = "Message from Philcoextra.com";
$message = "$_POST[name] <$_POST[email]> wrote:\r\n$_POST[message]";
$headers = "From: Philcoextra.com\r\n";
$headers .= "Content-Type: text/plain; charset=\"UTF-8\"\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
mail($_POST["admin_email"], $subject, $message, $headers);
?>
|
В поле "От кого" в почтовом ящике выводится значение Philcoextra.com@116734-web1.www.thepropernetwork.com
Т.е. сервер сам дописывает @116734-web1.www.thepropernetwork.com в заголовок From.
Как сделать так, чтобы он туда ничего не дописывал? | |
|
|
|
|
|
|
|
для: Ирбис
(10.11.2010 в 20:51)
| | пятый параметр функции... нет? | |
|
|
|
|
|
|
|
для: Trianon
(10.11.2010 в 21:40)
| | Я его попробовал сегодня использовать. Сам я слабо разбираюсь в *nix утилитах и их командах, но нашел в сети вот такаю подробную хорошую статью:
http://www.netangels.ru/support/php-mail/
Делаю всё как там написано, а именно:
Работа над ошибками с помощью additional_parameters
Как уже упоминалось выше, функция mail() для отправки почты просто вызывает стандартную команду sendmail, при необходимости передавая ей дополнительные параметры. В каком случае может возникнуть необходимость их использования? Самый часто встречающийся случай - проблема с адресом отправителя. Этот адрес нередко изменяется функцией sendmail на адрес вида "имя_пользователя_на_сервере_хостинга@адрес_сервера_хостинга.ru". Чтобы избежать такого поведения, необходимо передать команде параметр "-femail@отправителя.ru" (обратите внимание на формат строки: "минус-эф", а затем без пробелов электронный адрес).
Таким образом, немного подкорректировал код:
<?php
if(empty($_POST)) exit();
//Sending data to the site's admin
$subject = "Message from Philcoextra.com";
$message = "$_POST[name] <$_POST[email]> wrote:\r\n$_POST[message]";
$headers = "From: Philcoextra.com <no-reply@philcoextra.com>\r\n";
$headers .= "Content-Type: text/plain; charset=\"UTF-8\"\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
mail($_POST["admin_email"], $subject, $message, $headers, "-fno-reply@philcoextra.com");
?>
|
Но вредный сервер всё равно в поле "От кого" пишет:
Philcoextra.com@116734-web1.www.thepropernetwork.com
Может ли сервер быть настроен таким образом, что он игнорирует команду "-fno-reply@philcoextra.com"? | |
|
|
|
|
|
|
|
для: Ирбис
(11.11.2010 в 13:10)
| | Ничего вы не добьетесь пятым параметром, если эту политику регулирует хостер. У вас два выхода:
1- обратиться к хостеру, если он имеет на это "монополию".
2 - добавить этот адрес в список доверенных в панели управления сайтом своим (есть и такой способ регулирования этого вопроса). | |
|
|
|
|
|
|
|
для: sim5
(11.11.2010 в 13:14)
| | А можно про второй пункт поподробнее
>в панели управления сайтом
Вы имеете ввиду панель управления хостинг-аккаунтом?
>добавить этот адрес в список доверенных
Под адресом вы имеете ввиду доменное имя или что-то другое? | |
|
|
|
|
|
|
|
для: Ирбис
(11.11.2010 в 13:20)
| | >Вы имеете ввиду панель управления хостинг-аккаунтом?
Да, если такое возможно в ней.
>Под адресом вы имеете ввиду доменное имя или что-то другое?
e-mail | |
|
|
|
|
|
|
|
для: Ирбис
(11.11.2010 в 13:20)
| | А какой адрес нужно добавить в список доверенных?
Тот который у меня храниться в переменной $_POST['admin_email'] (на этот адрес я отправляю сообщение, посмотрите пожалуйста листинг выше)
или тот, который я указываю в заголовке From (т.е. no-reply@philcoextra.com)? | |
|
|
|
|
|
|
|
для: Ирбис
(11.11.2010 в 13:48)
| | Тот, который подменяется сервером. | |
|
|
|
|
|
|
|
для: sim5
(11.11.2010 в 13:52)
| | Ясно, спасибо! | |
|
|
|
|
|
|
|
для: Ирбис
(11.11.2010 в 13:10)
| | а этот домен имеет отношение к серверу, с которого выполняется отправка?
Ваш вопрос, собственно, имеет смысл задать почтовому администратору сервера. | |
|
|
|
|
|
|
|
для: Trianon
(11.11.2010 в 13:39)
| | Спасибо за совет!
Сайт пока вообще находится на тестовом домене и, честно говоря, не знаю каким образом связан этот тестовый домен и сервер, на котором работает сайт.
Мне, в принципе сейчас будет достаточно знать, что из скрипта ситуацию разрешить не удастся и что для разрешения ситуации нужно будет обратиться к службе поддрежки хостинга и выяснить у них всё - когда сайт будет перенесён на реальный домен, тогда этим и займусь.
Я просто думал, что из скрипта можно исправить ситуацию, но, похоже, что нельзя. | |
|
|
|
|
|
|
|
для: Ирбис
(11.11.2010 в 13:56)
| | я не про тестовый домен, а про почтовый.
Отправка писем от имени чужого домена является ничем иным, как спамом. | |
|
|
|
|
|
|
|
для: Trianon
(11.11.2010 в 14:54)
| | >Отправка писем от имени чужого домена является ничем иным, как спамом.
Эта мысль мне в голову не приходила, действительно, нужно это иметь ввиду.
Когда перенесём сайт на реальный домен, выясним адрес почтового домена и разберемся с ситуацией. | |
|
|
|
|
|
|
|
для: Ирбис
(10.11.2010 в 20:51)
| | FROM должен содержать адрес почтового ящика отправителя, по-моему у вас в этом заголовке должно быть что-то типа admin@Philcoextra.com. | |
|
|
|
|
|
|
|
для: Лена
(10.11.2010 в 21:55)
| | Строго говоря, я не совсем правильно указал адрес отправителя. Адрес отправителя должен быть представлен либо в виде
name@domain.com
либо в виде
V.Pupkin <name@domain.com>
Сейчас я изменил заголовок From в соответствии с этим требованием, но сервер всё равно дописывает(или даже переписывает) мою строку своей. | |
|
|
|