22.04.2014 Views

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

SHOW MORE
SHOW LESS

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 />

мы можем пойти двумя путями.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!