Печать
Категория: Интернет для радиолюбителя
Просмотров: 506

PHP скрипт для рассылки на e-mail поздравлений


Данный скрипт был заказан и оплачен у одного из WEB-разработчиков. За чисто символическую цену был написан скрипт с простейшей админкой и ручным запуском на исполнение.
Так как оригинальный скрипт всё же имел некоторые "изъяны" в виду его простоты и малой цены, было решено его немного модифицировать. Но это немного затронуло практически весь скрипт.

И так, что может этот скрипт?

При запуске скрипта происходит выбор записей, у которых дата потенциального юбиляра совпадает с текущей датой на сервере. Проверка ведется только по дню и месяцу рождения.
В случае наличия таких записей и базы данных будут выбраны все записи. удовлетворяющими условию DD|MM сервера = DD|MM юбиляра
На e-mail адреса юбиляров будут отправлены письма с поздравлениями.

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

Во первых, периодически возникает необходимость удалить старые или добавить новые записи,
- во вторых, ничто не стоит на месте, возникают новые идеи, находятся новые слова для текста поздравления, новое оформление, да мало ли что еще,
- и в третьих, наличие админки, делает возможным "отвязаться" от FTP, а пользоваться простым и понятным WEB-интерфейсом. Кстати, встроить данный скрипт в какую либо систему управления сайтом не составит труда.

Перейдем к техническим деталям данного скрипта.**

1) Скрипт можно устанавливать и запускать на любом сайте поддерживающим работу PHP. Причем, скрипт может отправлять письма совершенно с другого домена от имени например, домена narod.ru. Т.е. физическое расположение скрипта никак не привязано к тому домену, от имени которого он отправляет письма. Например: скрипт расположен на хостинге сайта tularadio.ru, но отправляет поздравления от имени администратора сайта ua1dz.net пользователям сайта ua1dz.net, который размещен на совершенно другом хостинге.
2) Для работы скрипта не требуется база SQL, все данные хранятся в обычных файлах.
3) Имеется возможность отправлять копии писем на дополнительный адрес (для контроля и т.д.). Для включения данной опции необходимо разкомментировать строку в файле work.php:
/// $to .= $hide_mail; /// кому отправляем копию письма
4) используемые в работе скрипта файлы:
    css.css - таблица стилей оформления админки,
    hb.dat - база данных получателей писем,
    help.dat - файл помощи (можете переписать на свое усмотрение),
    index.php - админка,
    patterns.dat - файл, где хранится шаблон письма с поздравлением. При желании, содержимое можно менять через FTP или WEB-интерфейс админки,
    settings.dat - файл с настройками (логин/пароль админки, e-mail отправителя, e-mail копии),
    work.php - исполняемый файл для отправки писем с поздравлениями.
5) Формат данных в файле с получателями hb.dat:
    |DD|MM|YYYY|Name|e-mail| где разделителями полей является символ | (вертикальная палочка)
6) Очень важно - в файле шаблона можно использовать все теги HTML-форматирования, за исключением того, что запрещено использовать одинарные и двойные кавычки. Например: фрагмент <a href="http://mydomain.ru">http://mydomain.ru</a> должен быть оформлен, как: <a href=http://mydomain.ru>http://mydomain.ru</a>
7) Скрипт можно размещать в любой директории сайта, с условием, что все файлы будут размещены там же.
8) Вход в Админку скрипта можно осуществить набрав в командной строке браузера адрес, где расположен файл index.php. например: http:// www.mydomain.ru/папка скрипта/index.php
9) Запускать скрипт на исполнение можно двумя путями:
    - вручную, набрав в командной строке браузера адрес, где расположен файл work.php. Например: http:// www.mydomain.ru/папка скрипта/work.php. (Учтите, что сколько раз запустите скрипт в течении суток, столько одинаковых писем юбиляр получит. Подумайте - а будет ли ему это приятно в такой день! )
    - автоматически, по расписанию используя планировщик CRON на хостинге Вашего сайта (если хостинг платный - cron там есть!)
10) При необходимости сменить кодировку письма на другую, измените её в файле work.php подредактировав строку
$headers = "Content-type: text/html; charset=windows-1251 \r\n"; /// *** кодировка письма

Данный скрипт уже подвергся дальнейшей модификации, связанной с повышением безопасности, улучшением функциональности. Если Вас это заинтересовало - напишите администратору сайта.
Так как скрипт приобретен официально, подвергся значительной доработке, то все права на него принадлежат владельцу скрипта Алексею RM3P. Он дал согласие на то, что:
- любой желающий может использовать данный скрипт бесплатно,
- разрешена любая модификация скрипта (главное, чтобы это пошло на пользу всем)
- но, имеется единственное ограничение (ну, а как же без этого...), скрипт запрещено (если Вы к этому прислушаетесь) использовать для рассылки СПАМа.

** в исполняемых файлах указаны все комментарии