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

Форум PHP

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

 

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

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

тема: Функция mail() не отправляет письмо
 
 автор: DEM   (09.09.2008 в 19:48)   письмо автору
 
 

Самого ужасно раздражает слова типа АЦЦКИЙ, АФФТАР и т.д., но просто ничего другого по этой функции не приходит в голову :(
Есть код:

      $mess = "Имя: ".$name."<BR>";
      $mess .= "Организация: ".$org."<BR>";
      $mess .= "Адрес: ".$adres."<BR>";
      $mess .= "Способ оплаты: ".$plata."<BR>";
      $mess .= "e-mail: ".$mail."<BR>";
      $mess .= "Домашний телефон: ".$telefon."<BR>";
      $mess .= "Мобильный телефон: ".$mob."<BR>";
      $mess .= "Дополнительная информация: ".$dop."<BR><BR><BR>";
      $header = "Content-Type: text/plain; charset=windows-1251\r\n";
        $header .= "From: ".$mail."\r\n";

      if(mail("qwe@qwe.ru", "Письмо от  - ".$adres, $mess, $header))
            echo "OK";
          else
            echo ":(";

  Ответить  
 
 автор: sim5   (09.09.2008 в 19:51)   письмо автору
 
   для: DEM   (09.09.2008 в 19:48)
 

И что?

  Ответить  
 
 автор: DEM   (09.09.2008 в 19:59)   письмо автору
 
   для: DEM   (09.09.2008 в 19:48)
 

Блин, забыл написта в чём проблема)))

В общем он не отправляет письмо :( Раньше отправлял, а тепреь нет... ВОт думаю, может что там изменил или еще что... Или скорее всего ошика в настройках сервера?

  Ответить  
 
 автор: sim5   (09.09.2008 в 20:03)   письмо автору
 
   для: DEM   (09.09.2008 в 19:59)
 

Ну первое - Content-Type: text/plain, а передаете <BR>, и как это по вашему должно выглядеть? А вы откуда знаете, что не отправляет?

  Ответить  
 
 автор: DEM   (09.09.2008 в 20:09)   письмо автору
 
   для: sim5   (09.09.2008 в 20:03)
 

Ну сообщения не приходят... Значит надо написать text/html ?

  Ответить  
 
 автор: sim5   (09.09.2008 в 20:12)   письмо автору
 
   для: DEM   (09.09.2008 в 20:09)
 

Вы что, получаете это сообщение ваше - ":(" ? Если нет, то причем тут mail()? Может ваше безалаберно составленное письмо почтовый сервер не принимает? Почитайте здесь прикрепление, касается почты.

  Ответить  
 
 автор: DEM   (10.09.2008 в 22:06)   письмо автору
 
   для: DEM   (09.09.2008 в 19:48)
 

Он мне отвечает ОК, но письмо всё равно не приходит...

  Ответить  
 
 автор: sim5   (11.09.2008 в 05:15)   письмо автору
 
   для: DEM   (10.09.2008 в 22:06)
 

Функция майл всего лишь отдает ваше сообщение для отправки почтовому серверу и на этом "умывает руки". Если у вас в синтаксисе этой функции нет ошибок, то спрашивать if(mail(...)), что мертвому припарка. Эта проверка вернет вам false в том случае, если вы, например, привысите лимит отправки почтовых сообщений установленный вашим хостером. Вы возьмите специально само сообщение оформите не верно, с явными грубыми ошибками - ваш if(...) ответит ОК, а вот то, что адресат получит письмо, это еще вопрос.
Если вы работаете под Денвером, то реальной отправки писем не происходит - sendmail в Денвере работает как заглушка. Это позволяет просмотреть "итого" вашего сообщения. Для этого зайдите в папку \tmp\!sendmail сервера и откройте сообщение. Сообщения имеют имя в виде даты, например, 2008-09-05_18-23-47.eml. Открыв его в Outlook, вы сможете увидеть допущенные ошибки в оформлении сообщения.
Если вы в Outlook не замечаете таковых, то это еще не значит, что у вас все ОК. Особенно такое возможно, когда вы отправляете письмо с вложением или прикреплением - в Outlook вы можете видеть их, но вот на других почтовых серверах, например, mail.ru, yandex.ru, Gmail и т.п., вы можете не увидеть таковых, либо вообще не получить сообщение. Для проверки этого, вам достаточно перенаправить это письмо из Outlook на один из вышеуказанных серверов. Зарегистрируйте себе ящики на таковых и проверяйте.
Если ваши адресаты не получают ваших сообщений, а вы считаете, что вы правы, и все с вашей стороны ОК, то обратитесь к хостеру - если респондент не получил по той или иной причине ваше письмо, хостеру придет "питиция", он вам может ее предъявить - разберетесь в причине.

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

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