Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сервер дописывает заголовок From при отправке почты
 
 автор: Ирбис   (10.11.2010 в 20:51)   письмо автору
 
 

Добрый день!
Код отправки сообщения выглядит так:
<?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.
Как сделать так, чтобы он туда ничего не дописывал?

  Ответить  
 
 автор: Trianon   (10.11.2010 в 21:40)   письмо автору
 
   для: Ирбис   (10.11.2010 в 20:51)
 

пятый параметр функции... нет?

  Ответить  
 
 автор: Ирбис   (11.11.2010 в 13:10)   письмо автору
 
   для: 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"?

  Ответить  
 
 автор: sim5   (11.11.2010 в 13:14)   письмо автору
 
   для: Ирбис   (11.11.2010 в 13:10)
 

Ничего вы не добьетесь пятым параметром, если эту политику регулирует хостер. У вас два выхода:
1- обратиться к хостеру, если он имеет на это "монополию".
2 - добавить этот адрес в список доверенных в панели управления сайтом своим (есть и такой способ регулирования этого вопроса).

  Ответить  
 
 автор: Ирбис   (11.11.2010 в 13:20)   письмо автору
 
   для: sim5   (11.11.2010 в 13:14)
 

А можно про второй пункт поподробнее
>в панели управления сайтом
Вы имеете ввиду панель управления хостинг-аккаунтом?

>добавить этот адрес в список доверенных
Под адресом вы имеете ввиду доменное имя или что-то другое?

  Ответить  
 
 автор: sim5   (11.11.2010 в 13:25)   письмо автору
 
   для: Ирбис   (11.11.2010 в 13:20)
 

>Вы имеете ввиду панель управления хостинг-аккаунтом?

Да, если такое возможно в ней.

>Под адресом вы имеете ввиду доменное имя или что-то другое?

e-mail

  Ответить  
 
 автор: Ирбис   (11.11.2010 в 13:48)   письмо автору
 
   для: Ирбис   (11.11.2010 в 13:20)
 

А какой адрес нужно добавить в список доверенных?
Тот который у меня храниться в переменной $_POST['admin_email'] (на этот адрес я отправляю сообщение, посмотрите пожалуйста листинг выше)
или тот, который я указываю в заголовке From (т.е. no-reply@philcoextra.com)?

  Ответить  
 
 автор: sim5   (11.11.2010 в 13:52)   письмо автору
 
   для: Ирбис   (11.11.2010 в 13:48)
 

Тот, который подменяется сервером.

  Ответить  
 
 автор: Ирбис   (11.11.2010 в 13:57)   письмо автору
 
   для: sim5   (11.11.2010 в 13:52)
 

Ясно, спасибо!

  Ответить  
 
 автор: Trianon   (11.11.2010 в 13:39)   письмо автору
 
   для: Ирбис   (11.11.2010 в 13:10)
 

а этот домен имеет отношение к серверу, с которого выполняется отправка?
Ваш вопрос, собственно, имеет смысл задать почтовому администратору сервера.

  Ответить  
 
 автор: Ирбис   (11.11.2010 в 13:56)   письмо автору
 
   для: Trianon   (11.11.2010 в 13:39)
 

Спасибо за совет!

Сайт пока вообще находится на тестовом домене и, честно говоря, не знаю каким образом связан этот тестовый домен и сервер, на котором работает сайт.

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

Я просто думал, что из скрипта можно исправить ситуацию, но, похоже, что нельзя.

  Ответить  
 
 автор: Trianon   (11.11.2010 в 14:54)   письмо автору
 
   для: Ирбис   (11.11.2010 в 13:56)
 

я не про тестовый домен, а про почтовый.
Отправка писем от имени чужого домена является ничем иным, как спамом.

  Ответить  
 
 автор: Ирбис   (12.11.2010 в 09:41)   письмо автору
 
   для: Trianon   (11.11.2010 в 14:54)
 

>Отправка писем от имени чужого домена является ничем иным, как спамом.
Эта мысль мне в голову не приходила, действительно, нужно это иметь ввиду.

Когда перенесём сайт на реальный домен, выясним адрес почтового домена и разберемся с ситуацией.

  Ответить  
 
 автор: Лена   (10.11.2010 в 21:55)   письмо автору
 
   для: Ирбис   (10.11.2010 в 20:51)
 

FROM должен содержать адрес почтового ящика отправителя, по-моему у вас в этом заголовке должно быть что-то типа admin@Philcoextra.com.

  Ответить  
 
 автор: Ирбис   (11.11.2010 в 13:15)   письмо автору
 
   для: Лена   (10.11.2010 в 21:55)
 

Строго говоря, я не совсем правильно указал адрес отправителя. Адрес отправителя должен быть представлен либо в виде

name@domain.com

либо в виде

V.Pupkin <name@domain.com>

Сейчас я изменил заголовок From в соответствии с этим требованием, но сервер всё равно дописывает(или даже переписывает) мою строку своей.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования