$mailer = new lmbMailer();
$recipients = array(
array("name" => "Sam", "address" => "sam@somehost.com"),
"todd@somehost.com"
);
$sender = 'bob@somehost.com';
$subject = 'new movie';
$text = 'Hello';
$html = 'Hello
';
$mailer->addAttachment('/www/attachments/movie.flv', $name = "Super movie");
$mailer->embedImage('/www/images/thumb.png', $cid = mt_rand(), $name=" Thumb for super movie");
//отправка текстового письма
$mailer->sendPlainMail($recipients, $sender, $subject, $text);
//отправка html письма
$mailer->sendHtmlMail($recipients, $sender, $subject, $html, $text, $charset = 'cp-1251');
===== Конфигурация lmbMailer =====
Находится в settings/mail.conf.php
:!: В старых версиях пакета для конфигурирования lmbMailer использовались константы, заданные с помощью директив define(), а так же функциями lmb_env_set() и lmb_env_setor(). Этот способ хотя и поддерживается, но __настоятельно не рекомендуется__.
^ Опция конфига ^ Константа ^ Значение по умолчанию ^ Описание ^
| use_phpmail | LIMB_USE_PHPMAIL | false | использовать mail() (вместо него будет использоваться SMTP) |
| smtp_host | LIMB_SMTP_HOST | 'localhost' | хост SMTP сервера |
| smtp_port | LIMB_SMTP_PORT | '25' | порт SMTP сервера |
| smtp_auth | LIMB_SMTP_AUTH | false | использовать ли авторизацию на SMTP сервере |
| smtp_user | LIMB_SMTP_USER | - | имя пользователя SMTP |
| smtp_password | LIMB_SMTP_PASSWORD | - | пароль SMTP |
Также при создании объекта lmbMailer можно передать массив c опциями в конструктор. Названия параметров этого массива совпадают с названиями опций конфига. Значения, переданные в конструктор, перекрывают значения взятые из ''mail.conf.php''.
$custom_config = array(
'smtp_user' => 'user',
'smtp_password' => 'password');
$mailer = new lmbMailer($custom_config);
===== Разница между отправкой с помощью mail() и smtp =====
===== lmbMailService и мейлеры =====
====Пример работы с lmbMailService ====
Например мы хотим отправить пользователю сообщение, что он удачно купил трактор в нашем магазине. Создаем шаблон письма.
Поздравляем с покупкой трактора {#tractor.title}
Поздравляем!
Вы, или ваш тайный доброжелатель, только что купили новенький {#tractor.title} на нашем замечательном сайте vtraktore.ru.
По смешной цене "{$#tractor.price}" рублей.
Посмотреть на это чудо инженерного гения можно на странице {$#tractor.profile_url}.
Поздравляем!
Вы, или ваш тайный доброжелатель, только что купили новенький {#tractor.title} на нашем замечательном сайте vtraktore.ru.
По смешной цене "{$#tractor.price}" рублей.
Посмотреть на это чудо инженерного гения можно на странице {$#tractor.profile_url}.
Шаблон состоит из трех частей: темы письма, txt-части и html-части (не обязательной). Части разделяются символом \n\n. Назовем шаблон **tractor_sold.phtml** и поместим его в директорию **_mail**, в директории шаблонов (что-то типа template/_mail/tracor_sold.phtml).
Приступим непосредственно к отправке:
$tractor = new stdClass();
$tractor->title = 'Советский турбовинтовой мирный трактор, среднего радиуса действия';
$tractor->price = 4999999;
$tractor->profile_url = 'http://lurkmore.ru/Мирный_советский_трактор';
$service = new lmbMailService('tractor_sold');
$service->set('tractor', $tractor);
$service->sendMailTo('petya-the-pig@gmail.com');
==== Классы-мейлеры ====
Мейлеры это объекты, которые отвечают за непосредственно отправку письма ( интерфейс %%lmbBaseMailerInterface%%). В данный момент поддерживаются следующие мейлеры:
- **lmbMailer** - "честный" мейлер: отправляет письмо в соответствии с настройками mail-конфига
- **lmbFileMailer** - создает файлы, с содержимым писем, во временной папке limb (по умолчанию это