?>
Этот код отправляет одно и то же сообщение электронной почты в четыре адреса: someone@a. com, someoneelse@a. сот, yetanotherone@a.сот и mailto:mole@a.com">mole@a.com, который видит, что копии почтового сообщения отправлены другим трем адресатам, но остальные получатели не смогут узнать, что один экземпляр отправлен для mole@a - com.
Такой способ создания сообщений электронной почты утомителен и требует много времени. Можно создать простой класс электронной почты, который будет автоматически строить и отправлять сообщение. Этим мы сейчас и займемся. Назовем этот специальный класс My_Mail.
Создание класса My_Mail
В действительности класс My_Mail обладает простой функциональностью, но обеспечивает структуру, на основе которой можно строить более сложные классы. Внимательно изучите, как организован этот класс.
Свойства
Сначала нам потребуется в классе группа членов-переменных, которые будут хранить значения полей заголовка и содержимое тела:
<?php
// my_mai.l_class.php
class My_Mail {
var $to =
var $from = '';
var $reply_to .=
var $cc = ";
var $bcc =
var $subject = '';
Свойство содержит тело сообщения:
var $body .=
Свойство $validate_email по умолчанию имеет значение true, и класс проверяет допустимость почтовых адресов с помощью регулярного выражения. Если установить свойство $rigorous_email_check в t rue, то также будет проверяться по записям DNS допустимость доменных имен в каждом адресе:
var $validate_email = true; : var $rigorous_email_check = false;
Следующие свойства надо установить в true, если допускается пустой заголовок или тело сообщения:
var $allow_empty_subject = false; var $allow_empty_body = false;
Массив $headers содержит все поля заголовка в виде отдельного элемента. Развертывание массива через пару CR/LF даст правильно отформатированный блок заголовка. В этой переменной в виде элементов массива содержатся все поля, кроме То и Subject:
var $headers -= arrayO;
Сообщения об ошибках и сообщения пользователю объявляются как строковые свойства, чтобы отделить их от фактического кода. Благодаря этому легко модифицировать сообщения, не разыскивая по всему коду все копии сообщения, которое требуется изменить. Интернационализация нашего класса также сводится к переводу этих свойств на нужный язык, например корейский:
var $ERR_EMPTY_MAIL_TO = "Empty to field!"; var $ERR_EMPTY_SUBJECT = "Empty subject field! "; var $ERR_EMPTY_BODY:= "Empty body field!";