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. Организация почтовой рассылки 373<br />

Как отправить письмо<br />

сразу по нескольким адресам<br />

Последняя техническая проблема, которую нам нужно решить, — как отправить<br />

одно и то же письмо сразу по нескольким адресам. Решить ее можно<br />

несколькими способами.<br />

Проще всего послать нужное письмо несколько раз, каждый раз — новому<br />

адресату. Но это выход только на самый крайний случай. Во-первых, одновременная<br />

отправка множества писем сильно перегрузит почтовый сервер,<br />

а если мы будем и дальше так поступать, нас, чего доброго, вообще с этого<br />

сервера попросят. Во-вторых, это как-то слишком уж прямолинейно — есть<br />

и более изящные способы.<br />

Еще можно записать всех адресатов в строку "То:" заголовка одногоединственного<br />

письма, разделив их запятой или точкой с запятой:<br />

То: userl@serverl.ru, user2Sserver2.ru, user3@server3.ru<br />

Почтовый сервер, прочитав эту строку, сам отправит это письмо всем перечисленным<br />

в ней адресатам.<br />

Однако здесь возникает вот такая проблема. Каждый получатель нашей рассылки,<br />

приняв очередное письмо, сможет прочитать в его заголовке (в строке<br />

то:, если быть точным) почтовые адреса всех подписчиков. А это не<br />

очень хорошо в плане конфиденциальности.<br />

Выход из этого положения весьма прост. Вместо строки то: для перечисления<br />

адресатов письма нужно использовать строку вес:, которая задает адреса<br />

так называемых "слепых копий" и отличается от строки то: тем, что<br />

в ней всегда стоит адрес только данного конкретного получателя письма.<br />

То есть если мы разошлем письмо, содержащее в заголовке строку<br />

Вес: userl@serverl.ru, user2@server2.ru, user3@server3.ru<br />

то подписчик с адресом user2@server2.ru, получив письмо, увидит в его заголовке<br />

только<br />

Вес: user2@server2.ru<br />

Остальные адресаты будут удалены из строки все: самим почтовым сервером.<br />

И еще. Если мы собираемся рассылать одно и то же письмо нескольким<br />

адресатам, мы должны передать все их адреса почтовому серверу в командах<br />

RCPT ТО:<br />

fputs($connection, "RCPT TO: userl@serverl.ru\r\n");<br />

fputs($connection, "RCPT TO: user2@server2.ru\r\n");<br />

fputs($connection, "RCPT TO: user3@server3.ru\r\n");<br />

Вот и все. Остальные сведения о том, куда и как рассылать письмо, почтовый<br />

сервер получит из его заголовка.<br />

13 Зак. 771

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

Saved successfully!

Ooh no, something went wrong!