-
Notifications
You must be signed in to change notification settings - Fork 39
Mailer
На данный момент Bluz\Mailer является всего-лишь обёрткой для пакета PHPMailer, в его задачи входит применение глобальных настроек для каждого создаваемого объекта PHPMailer.
Пример настроек для работы Mailer'а через SMTP сервер (больше информации по настройкам на страничке PHPMailer):
// config file mailer.php
return array(
"subjectTemplate" => "Bluz - %s",
// email is required
"from" => [
"email" => "[email protected]",
"name" => "Bluz"
],
// PHPMailer settings
// read more at https://github.com/Synchro/PHPMailer
"settings" => [
"CharSet" => "UTF-8",
"Mailer" => "smtp", // mail, sendmail, smtp, qmail
"SMTPSecure" => "ssl",
"Host" => "10.10.0.114",
"Port" => "2525",
"SMTPAuth" => true,
"Username" => "[email protected]",
"Password" => "pass",
],
// Custom Headers
"headers" => [
"PROJECT" => "Bluz",
],
)
с версии 0.6.0 изменился способ вызова - теперь только через Proxy
Приведу код контроллера /test/mailer/
:
try {
$mail = Mailer::create();
// subject
$mail->Subject = "Example of Bluz Mailer";
$mail->MsgHTML("Hello!<br/>How are you?");
$mail->AddAddress($email);
Mailer::send($mail);
Messages::addSuccess("Email was send");
} catch (\Exception $e) {
Messages::addError($e->getMessage());
}
Если вам нужен пример генерации HTML писем, то лучше всего подсмотреть в users/mail-template
, пример использования тут:
$body = app()->dispatch(
'users',
'mail-template',
[
'template' => 'registration',
'vars' => ['login' => $login]
]
)->render();
try {
$mail = Mailer::create();
$mail->Subject = $subject;
$mail->MsgHTML(nl2br($body));
$mail->AddAddress($email);
Mailer::send($mail);
} catch (\Exception $e) {
Logger::log('error', $e->getMessage());
throw new Exception('Unable to send email. Please contact administrator.');
}
Acl
Application
Auth
Cache
Common
— Exception
— Collection
— Container
— Helper
— Options
— Singleton
Config
Controller
— Data
— Mapper
—— Crud
—— Rest
— Reflection
Crud
— Crud Table
Db
— Row
— Table
— Relations
— Query
Debug
EventManager
Grid
Http
Layout
Logger
Mailer
Messages
Nil
Proxy
Registry
Request
Response
Router
Session
Translator
Validator
View