php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Глава 16. Организация почтовой рассылки 367<br />
Второй способ сложнее в реализации, но предоставляет нам больше возможностей.<br />
Мы сами можем написать программу, выполняющую рассылку<br />
писем по списку. Да, эти письма не будут содержать посторонней рекламы,<br />
и их составление можно будет автоматизировать, но написать программу для<br />
почтовых рассылок — весьма нелегкая задача даже для опытного программиста,<br />
знакомого с принципом действия почтовых серверов.<br />
Но, как уже говорилось ранее, у нас есть под рукой РНР — замечательная<br />
платформа написания серверных Web-страниц. РНР имеет встроенные<br />
средства для организации почтовых рассылок, воспользоваться которыми<br />
совсем не сложно. По крайней мере, проще, чем писать все нужные программы<br />
самим "с нуля".<br />
Реализация службы рассылки на РНР<br />
Решено! Мы пишем свою службу почтовых рассылок на РНР. И сделаем ее<br />
в виде особой серверной Web-страницы.<br />
А сейчас давайте подумаем, как ее лучше реализовать. Нам придется решить<br />
несколько проблем еще до того, как мы начнем писать код РНР.<br />
Два способа реализовать службу рассылок на РНР<br />
Когда мы будем писать службу рассыяок, нам придется решить следующие<br />
проблемы:<br />
• принять от желающего получать нашу рассылку почтовый адрес и сохранить<br />
его в листе рассылки;<br />
• сформировать очередной выпуск рассылки;<br />
О выбрать из листа рассылки все почтовые адреса;<br />
• отправить по этим адресам сформированный ранее выпуск рассылки;<br />
• реализовать отписку от рассылки.<br />
Собственно, мы уже знаем, как решить большинство этих проблем. Мы сохраним<br />
лист рассылки в особой таблице нашей базы данных site, которую<br />
назовем, скажем, maillist. Принять от желающего почтовый адрес тоже<br />
несложно — достаточно создать соответствующую форму на одной из страниц<br />
нашего сайта. Точно так же можно сделать отписку от рассылки: посетитель,<br />
не желающий больше получать нашу рассылку, вводит свой почтовый<br />
адрес в другой форме (форме отписки), и сценарий РНР удаляет<br />
соответствующую запись из таблицы maillist. Ну, а выбрать все адреса из<br />
этой таблицы совсем просто.<br />
Проблема в другом — как выбрать статьи и файлы для формирования письма.<br />
Точнее, как отделить "новые" записи таблицы items от "старых". Здесь<br />
мы можем пойти двумя путями.