САМОУЧИТЕЛЬ PHP 4



         

Пример - часть 2


если не поставить после тэга ?> какой-нибудь знак. Вообще-то, лучше здесь использовать пробел, но в листинге он был бы совершенно незаметен, — вот почему я и выбрал точку.

r    Наконец, чтобы каждая строка новостей, которые получит пользователь, была не длиннее 60 символов, мы задействуем встроенную в PHP функцию WordWrap(). Подробнее о ней можно прочитать в главе 12

настоящей книги.

В листинге 32.4 приведен код, который, собственно, и занимается рассылкой писем.

Листинг 32.4. Код рассылки писем

<?

// Подключаем библиотекаря "прямым" способом.

include "$DOCUMENT_ROOT/php/Librarian.phl";

// Подключаем модуль с функцией PostMail()

Uses("Mail");

// . . .

// Здесь мы должны генерировать массив $News,

// содержащий блоки последних новостей.

// . . .

// Открываем базу данных с подписчиками. Ее формат был

// рассмотрен нами ранее.

$F=File("db.txt");

foreach($F as $s) {

  $User=explode("|",trim($s));

  // Для удобства создаем для каждого значения ключи.

  $User=array(

    "name"   => $User[0],

    "email"  => $User[1],

    "time"   => $User[2],

    "encode" => $User[3]

  );

  // Посылаем письмо по шаблону из файла mail.txt

  // очередному пользователю, переводя его в желаемую кодировку.

  PostMail($User['email'],"file:mail.txt",$User['encode']);

}

?>

Этот код довольно красноречиво показывает, что работать с нашей новой функцией PostMail() очень просто. Большая его часть занимается не отправкой писем, а разбором записей в базе данных. Так как переменные $User и $News — глобальные, то не нужно предпринимать никаких дополнительных действий, чтобы использовать их в шаблоне письма.

На этом мы завершим рассмотрение возможностей PHP по отправке электронной почты и разбору шаблонов писем. Я не затронул здесь тему, касающуюся включения в письма так называемых attachment'ов (или "вложенных файлов"), потому что в формате писем, содержащих "вложения", довольно легко запутаться. Любознательный читатель всегда сможет добавить в модуль Mail.phl функции, позволяющие удобно работать с "вложениями". Для того чтобы разобраться с форматом таких писем, можно даже не искать соответствующую документацию: достаточно просто посмотреть на исходный текст письма, сгенерированного какой-нибудь почтовой программой, и уловить закономерности размещения заголовков и блоков текста.




Содержание  Назад  Вперед