Проблема с Phpmail

Статус
В этой теме нельзя размещать новые ответы.

Igorekweb

Постоялец
Регистрация
11 Дек 2006
Сообщения
66
Реакции
52
Такая проблема, вот пример обработчика формы заказа:


работает на фри хостинге, phpmail работает, в результате отправки ошибок нет, но письма не доходят до адресата, в чем может быть причина? (кроме хостинга)
 
MTA на сервере настроен? может письма в папку спам падают?
 
Скрипт рабочий но не указан "From"
попробуй такую конструкцию..


Код:
<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>
 
я вот так почту отправляю
работает
проверенно :)

Код:
<?php
  class Mail 
  {
  // создаем переменные, в которых хранится содержимое заголовков
  var $to = '';
  var $from = '';
  var $reply_to = '';
  var $cc = '';
  var $bcc = '';
  var $subject = '';
  var $msg = '';
  var $validate_email = true; 
  // проверяет допустимость почтовых адресов
  var $rigorous_email_check = true; 
  // проверяет допустимость доменных имен по записям DNS
  var $allow_empty_subject = false; 
  // допустимость пустого поля subject
  var $allow_empty_msg = false; 
  // допустимость пустого поля msg
    
  var $headers = array();   
  /* массив $headers содержит все поля заголовка, кроме to и subject*/
    
  function check_fields()
    /* метод, проверяющий, переданы ли все значения заголовков
    и проверку допустимости почтовых адресов */
  {
    if(empty($this -> to))
    {
      return false;       
    }
    if(!$this -> allow_empty_subject && empty($this -> subject))
    {
      return false;       
    }
    if(!$this -> allow_empty_msg && empty($this -> msg))
    {
      return false;       
    }
    /* если есть дополнительные заголовки, помещаем их в массив $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;
     } 
  }
}
?>




Код:
<?php

$text="tekst = \t".$_POST['tekst']."\n\n";
    include("./mail_class.php");
    $mail = new Mail();
    $mail -> to = "mail1@mail.ru,mail2@mail.ru"; 
    //сюда подставляется реальный адрес
    $mail -> subject = "тут тема";
    $mail -> msg = $text;
    $mail -> msg = $text;
    $mail -> rigorous_email_check = 0;
    if($mail->send()){
        echo("");
    }else{
        echo("");
    }  


?>
 
MTA на сервере настроен? может письма в папку спам падают?

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