PHPackages                             masterflash-ru/emailer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. masterflash-ru/emailer

ActiveService[Mail &amp; Notifications](/categories/mail)

masterflash-ru/emailer
======================

Генерация и рассылка HTML писем

1381PHP

Since Jan 8Pushed 3y ago1 watchersCompare

[ Source](https://github.com/masterflash-ru/Emailer)[ Packagist](https://packagist.org/packages/masterflash-ru/emailer)[ RSS](/packages/masterflash-ru-emailer/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (1)

Emailer
=======

[](#emailer)

Сервис для генерации HTML писем и отправки их получателям. Генерация идет аналогично стандартному рендерингу в фреймворке.

будет ряд усовершенствований, например, выбор типа адаптера отправления письма и т.д.

Установка: composer require masterflash-ru/emailer

Для админки доступен интерфейс редактирования записей в базе - "Редактирование шаблонов писем с сайта"

После установки загрузите дамп в базу из папки data.

Создается плагин контроллеров Emailer:

```
//обращение в контроллере
$this->Emailer($nameOrModel,$values, $toEmails, $options);

//если ничего не передавать, возращает сам объект
$emailer=$this->Emailer();
```

$nameOrModel - экземпляр ViewModel, как в контроллере, или имя шаблона (сценария вывода) в терминологии ZF3. Поиск ведется по имени вначале в базе данных, если не найдено, то среди файлов. Путь к файлу указывается так же как принято в ZF3;

$values - массив со значениями в шаблон, но если $nameOrModel был строкой;

$toEmails - строка или массив Email получателей;

$options - опции, массив, ключи: subject - тема сообщения, mailfrom - обратный адрес письма

Функции плагина контроллера Emailer:

ВызовописаниеsetOptions(array $options):voidЗадать опции, поддерживаются subject, mailfromRender($nameOrModel,$values = null):stringРендер, обрабатывает шаблон-сценарий вывода, $nameOrModel - экземпляр ViewModel или имя шаблона, $values - значения передаваемые в шаблонsetToEmails($toEmails):voidЗадать адрес/адреса получателей, строка или массивgetToEmails():arrayполучить массив Email получателейsetSubject(string $Subject):voidУстановить тему письмаgetSubject():stringПолучить тему письмаsetMailFrom(string $mailFrom):voidУстановить обратный EmailgetmailFrom():stringПолучить Email обратного адресаsendEmail(string $message, $toEmails=null):voidотправить письмо, $message - строка HTML письма, $toEmails - получатель/получатели, если пусто, то нужно указать при помощи функции setToEmailsВ конфигурации вашего приложения должна быть указана конфигурация коннекта к базе данных 'DefaultSystemDb', например,

```
return [
    "databases"=>[
        //соединение с базой + имя драйвера
        'DefaultSystemDb' => [
            'driver'=>'MysqlPdo',
            //"unix_socket"=>"/tmp/mysql.sock",
            "host"=>"localhost",
            'login'=>"login",
            "password"=>"password",
            "database"=>"simba4",
            "locale"=>"ru_RU",
            "character"=>"utf8"
        ],
    ],

.....
];
```

### Важное замечание

[](#важное-замечание)

Для включения изображений в HTML письма, следует указывать там абсолютные адреса, использовать помощник View-а ServerUrl(), например,

```
