RTFM! статьи, советы, скрипты
::Заработок с помощью сайта ::JScript по-русски! ::Все русские мануалы::
МЕНЮ
О САЙТЕ
НОВОСТИ
СТАТЬИ
КНИГИ
АППЛЕТЫ
СВЯЗЬ

СЧЕТЧИКИ
Rambler's Top100
Рейтинг@Mail.ru
Яндекс цитирования

Отправка почты – второй пример

Автор: Андрей Кухарчик Сайт: http://virtual.brest.by/php     Рейтинг: N/A из 7       <<НАЗАД
   
   Очень часто хочется знать, что происходит на сайте за время Вашего отсутствия. Конечно, можно периодически проверять форум, гостевую книгу, другие сервисы сайта на предмет новых сообщений, но есть способ лучше! Почему бы ни присылать самому себе сообщение на свой почтовый ящик, когда на сайте происходит то, или иное событие.
   
   Как пример могу предложить такие варианты – регистрация в рассылке, ввод сообщения в форум, гостевую книгу и т.д., ошибка открытия файла, организация обратной связи, опрос мнения читателей о размещенной статье и т.д. и т.п. Способов применить эту возможность РНР – масса, осталось разобраться, как это работает. Как всегда – просто! Синтаксис таков:
   
   Mail ( $email, "Введено сообщение", $str, "From: сообщение ");
   Конечно, перед этим соответствующие переменные должны быть введены либо вручную, либо с помощью формы (нужно следить за соответствием имен переменных в форме и в скрипте). При выполнении данной команды интерпретатор РНР пошлет письмо с текстом из переменной $str по адресу, указанному в переменной $email. Все остальное – служебная информация, которая может быть в некоторых случаях опущена за ненадобностью.
   
   Для примера рассмотрим систему контроля за посетителями определенных страниц сайта. Такая возможность может понадобиться для анализа посещений определенных статей, страниц и т.д. Нам потребуется информация о посетителе, которая в РНР автоматически доступна через переменные окружения. Эту информацию мы будем отсылать самому себе на почтовый ящик. Только не переусердствуйте – каждое посещение такой страницы вызовет отправку письма, и ящик может оказаться переполненным. Особенно если поток посетителей будет большим.
   
   <?php
   if (isset ($HTTP_X_FORWARDED_FOR))
   {
   $host = gethostbyaddr($HTTP_X_FORWARDED_FOR);
   } else {
   $host = gethostbyaddr($REMOTE_ADDR); }
   
   $ip=getenv('REMOTE_ADDR');
   $date=date('d M Y, H:i:s');
   $host1=gethostbyaddr("$ip");
   
   $str=("
   Дата - $date
   Хост - $host
   IP-адрес - $ip
   ---------------------");
   mail( $email, "статистика", $str, "From:информация");
   ?>
   Если Вы разместите на одной из Ваших страниц этот код РНР, информация о посетителе (это дата входа, хост и IP-адрес) будет в Вашем почтовом ящике. Еще можно прислать себе сообщение при возникновении ошибки (например, открытия файла) на сайте:
   
   $filename = "data.txt";
   $fp = @fopen($filename,"r");
   if ( !$fp )
   {
   @mail( $email, "Ошибка!", "Ошибка открытия файла $filename !");
   }
   Как обычно, можно поставить знак @, и если возникнет ошибка при отправке почты, сообщение об этом не будет выведено на экран. А можно просто проверить, ушло письмо или нет:
   
   if (@mail( $email, "Тест", $str))
   
   { … что сделать если письмо ушло … }
   
   else
   
   { … что делать, если произошла ошибка отправки (не правильные настройки сервера, не доступен ящик, сайт и т.д.) }
   
   Если в переменной $email указать несколько адресов, разделенных пробелами, информация будет разослана по всем указанным адресам. Это открывает простой путь к организации собственной, ни от кого не зависящей системы почтовых рассылок.
   
   


<<НАЗАД      ОЦЕНИТЬ СТАТЬЮ    ВЕРСИЯ ДЛЯ ПЕЧАТИ>>
Статья прочитана :  раз.




пейкюлю



 
 
 
 
 
pauk ©® 2000-2015. All rights reserved.
При перепечатке ссылка на сайт и указание обязательны.
Мнение администрации сайта не всегда совпадает с мнением автора.
Орфография и пунктуация - авторские.
Администрация не несет никакой ответственности за использование материалов.
.
Protected by Copyscape DMCA Takedown Notice Infringement Search Tool