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

Форум PHP

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

 

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

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

тема: Как сделать, чтобы в отправляемом письме поле from было моим
 
 автор: Geoli   (10.05.2010 в 20:07)   письмо автору
 
 

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

Но сейчас понадобилось, чтобы параллельно это же сообщение получал тот, кто заказывает. Т.к. отправляет сервер, получатель видит очень некрасивый адрес отправителя, что то в духе www-data@vs122225.tixtools.com. Заказчика это может напугать, хотелось бы, чтобы адрес выглядел красиво. Например "Магазин Максим".

в mail_class.php дописал следующее. Но ничего не работает. Как и что нужно подправить, чтобы получатель видел не email, а текст.


   /* если есть дополнительные заголовки, помещаем их в массив $headers*/
    if(!empty($this -> from))
    {
      $this->headers[] = "From: Магазин Максим<www-data@vs122225.tixtools.com>";
    }
    if(!empty($this -> reply_to))
    {
      $this -> headers[] = "Reply_to: $this -> reply_to";
    } 



Заранее спасибо.

  Ответить  
 
 автор: Trianon   (10.05.2010 в 20:20)   письмо автору
 
   для: Geoli   (10.05.2010 в 20:07)
 

по большому счету, это вопрос к хостеру.

  Ответить  
 
 автор: Geoli   (10.05.2010 в 23:04)   письмо автору
 
   для: Trianon   (10.05.2010 в 20:20)
 

Я так понял, направление мысли было правильное. Просто у провайдера это блокируется?
Что именно нужно спросить у провайдера? Как это называется? Чтобы не на пальцах и не бекать мекать.

  Ответить  
 
 автор: Geoli   (10.05.2010 в 23:42)   письмо автору
 
   для: Geoli   (10.05.2010 в 23:04)
 

Продолжая тему, вот конечный код mail класса.
Объясните мне, как происходит прикрепление заголовка headers к сообщению.
Я никак не могу понять.



    /* если есть дополнительные заголовки, помещаем их в массив $headers*/
    if(!empty($this -> from))
    {
      $this->headers[] = "From: $this -> from";
    }
    if(!empty($this -> reply_to))
    {
      $this -> headers[] = "Reply_to: $this -> reply_to";
    } 
    // проверяем допустимость почтового адреса      
    if ($this -> validate_email)
    {
       if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $this -> to))
       {
          return false;
       }
       return true;
    }
  }
    
  function send()
  /* метод отправки сообщения */
  {
     if(!$this -> check_fields()) return true;
     if (mail($this -> to, htmlspecialchars( stripslashes(trim($this -> subject))),
        htmlspecialchars(stripslashes(trim($this -> msg))) ))
     {
        return true;
     }else{
        return false;
     } 
  }



В грубую пишу так

 mail('мой майл@майл.ru', 'заказ', 'само сообщение', 'Магазин Максим <mail@mail.com>');    

Все работает.

  Ответить  
 
 автор: Trianon   (10.05.2010 в 23:52)   письмо автору
 
   для: Geoli   (10.05.2010 в 23:42)
 

после этих вот htmlspecialchars(stripslashes(trim( не то что объяснять что-либо....
Хочется напечатать этот код на бумажке помягче, ну и дальше сами понимаете.
Принтер жалко.

  Ответить  
 
 автор: Trianon   (11.05.2010 в 00:02)   письмо автору
 
   для: Geoli   (10.05.2010 в 23:04)
 

так и спросить.
Какими инструментами можно организовать отправку писем из php так, чтобы в исходящем адресе была строка вида "FromName" <fromuser@fromdomain>

  Ответить  
 
 автор: Geoli   (11.05.2010 в 12:20)   письмо автору
 
   для: Trianon   (11.05.2010 в 00:02)
 

Мое последнее сообщение было удалено админом. Жаль конечно, но он имеет право.
Но вопрос остался.

Скрипт, о котором идет речь, взять с этого же сайта, на котором мы его обсуждаем, в разделе "Примеры скриптов на PHP".

Дополнить в скрипте информацию для себя я смогу. Но хотелось бы узнать, зачем в этом классе создается массив $headers, если он дальше больше не фигурирует?

Если фигурирует, то укажите пожалуйста где? Если не фигурирует, то зачем он создавался?

Заранее спасибо.

  Ответить  
 
 автор: Николай2357   (11.05.2010 в 14:05)   письмо автору
 
   для: Geoli   (11.05.2010 в 12:20)
 

Объясните мне, как происходит прикрепление заголовка headers к сообщению.
Я никак не могу понять.

Ну, похоже, не происходит.
Кстати, Ваш вариант тоже работать будет далеко не всегда. Вот тут почитайте, если интересно.

  Ответить  
 
 автор: Trianon   (11.05.2010 в 23:03)   письмо автору
 
   для: Geoli   (11.05.2010 в 12:20)
 

>Скрипт, о котором идет речь, взять с этого же сайта, на котором мы его обсуждаем, в разделе "Примеры скриптов на PHP".

ссылка поточнее не помешала... впрочем...

>Дополнить в скрипте информацию для себя я смогу. Но хотелось бы узнать, зачем в этом классе создается массив $headers, если он дальше больше не фигурирует?
>Если фигурирует, то укажите пожалуйста где? Если не фигурирует, то зачем он создавался?

у функции mail() есть опциональный параметер, через который передаются дополнительные поля заголовка. Смотрите мануал.

Проблема же в том, что поля From: и To: - основные, и бывают ситуации, когда в процесс их формирования вмешиваются php, MTA, сервер smtp и прочие субьекты почтового обмена.
Поэтому лучше уточнить у хостера.

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

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