Главная страница О Web-студии Разработка сайтов Интернет-реклама CD-презентации 3D-графика Программное обеспечение
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создание сайтов. Авторы: Кузнецов М.В., Симдянов И.В. Головоломки на PHP для хакера (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры . Авторы: Кузнецов М.В., Симдянов И.В. PHP. Народные советы. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование: ступени карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Security & Cracking Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
Консультации от известных специалистов и авторов многих книг

Информационный портал
«SoftTime-INFO»


Примеры скриптов на PHP

Вернуться в примеры скриптов

Отправка почты на php (Функция mail)


Отправка почты осуществляется с помощью специального созданного PHP клаccа для отправки сообщений

Сохраните класс отправки почты под именем mail_class.php. Скрипт проверки можете сохранить под любым именем, например sendmail.php.
Внимание! В тексте скрипта предварительно подставьте реальный почтовый адрес. Запустите на выполнение проверочный скрипт sendmail.php. Если все сработало правильно, то вам придет письмо на тот адрес, что вы указали в проверочном скрипте.
... Хотя в некоторых случаях подобное письмо может не дойти до адресата. Например, оно может быть заблокировано антиспамовыми фильтрами.

<?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,6}/i"$this -> to))
       {
          return false;
       }
       return true;
    }
  }
    
  function send()
  /* метод отправки сообщения */
  {
     if(!$this -> check_fields()) return true;
     if (mail($this -> tohtmlspecialcharsstripslashes(trim($this -> subject))),
        htmlspecialchars(stripslashes(trim($this -> msg)))))
     {
        return true;
     }else{
        return false;
     } 
  }
}
?>

Проверочный скрипт (senmail.php)

<?php
    include("./mail_class.php");
    $mail = new Mail();
    $mail -> to "kuznetsov@softtime.ru"; 
    //сюда подставляется реальный адрес
    $mail -> subject "test";
    $mail -> msg "testing...";
    $mail -> msg "testing...";
    $mail -> rigorous_email_check 0;
    if($mail->send()){
        echo "success";
    }else{
        echo "error";
    }
    echo "<br>";
    echo $mail -> msg;
?>

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