Аргерих Л. О языке РНР. Часть 2. Страница 110


?>

Этот код отправляет одно и то же сообщение электронной почты в четыре ад­реса: 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!";




Если вам нужны контакты всех служб в каком-либо районе Оренбургской области, сайт agro-portal.su вам в этом поможет. Асекеевский район здесь расписан во всех подробностях и вы найдете все службы, которые вам могут понадобится.