Mailer - PNixx/Boot GitHub Wiki
Использование шаблонизатора писем в вашем проекте. Структура папок:
/application/mailers/ - контроллеры писем
/application/views/mailer/ - шаблоны писем
/test/mailers/ - превью писем
Создание
Создаем файл контроллера почтовика для отправки письма после успешной оплаты /application/mailers/payment.php
.
<?php
class PaymentMailer extends Boot_Mailer_Abstract {
//Возможно использовать layout в теле письма
protected static $layout = 'mailer';
//Функция отправки. Параметры вы можете указать любые, либо не указывать вовсе.
public static function success(Model_Payment $payment) {
self::$params = [
'payment' => $payment,
];
self::mail($payment->email, 'Оплата мероприятия успешно завершена');
}
}
Создаем шаблон письма в директории /application/views/mailer/payment/success.phtml
:
<p>Оплата события прошла успешно. Ваш номер №<?= $payment->id ?></p>
Использование
Использовать почтовик можно в любом месте кода, например после создания платежки в модели:
class Model_Payment extends ActiveRecord {
//После создания отправляем сообщение на почту
protected function after_create($old) {
//Сообщение участнику об успешном зачислении
PaymentMailer::success($this);
}
}
Live debug
Верстку писем можно легко проверять, не отправляя письма фактически. Достаточно открыть адрес в браузере http://example.com/boot/mailer/
и создать файл /test/mailers/payment.php
:
<?
class PaymentMailerPreview {
public static function success() {
PaymentMailer::success(Model_Payment::limit(1)->row());
}
}