PHPackages                             vanchelo/phalcon-mailer - 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. vanchelo/phalcon-mailer

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

vanchelo/phalcon-mailer
=======================

Phalcon Mailer Service

2.0.1(10y ago)392.4k16[3 issues](https://github.com/vanchelo/phalcon-mailer/issues)GPLv2PHPPHP &gt;=5.4.0

Since Nov 29Pushed 4y ago9 watchersCompare

[ Source](https://github.com/vanchelo/phalcon-mailer)[ Packagist](https://packagist.org/packages/vanchelo/phalcon-mailer)[ Docs](https://github.com/vanchelo/phalcon-mailer)[ RSS](/packages/vanchelo-phalcon-mailer/feed)WikiDiscussions 2.0 Synced 2w ago

READMEChangelog (4)Dependencies (3)Versions (5)Used By (0)

[english](./README-en.md) | **русский**

---

Phalcon Mailer
==============

[](#phalcon-mailer)

Удобная библиотека для отправки Вашей почты в [Phalcon 2.0](http://phalconphp.com/).

Код заимствован из Laravel 4 и адаптирован под Phalcon.

Установка
---------

[](#установка)

C помощью `composer`:

Добавить в файл `composer.json` в секцию `require` следующую строку:

```
"vanchelo/phalcon-mailer": "~2.0"

```

или выполнить в командной строке:

```
composer require vanchelo/phalcon-mailer

```

Должно получится примерно так:

```
{
  "require": {
    "vanchelo/phalcon-mailer": "~2.0"
  }
}
```

После этого выполните в терминале команду:

```
composer update
```

Инициализация сервиса
---------------------

[](#инициализация-сервиса)

```
/**
 * Register Mailer Service
 */
$this->di['mailer'] = function() {
    $service = new MailerService();

    return $service->mailer();
};
```

или с передачей параметров на этапе инициализации сервиса

```
/**
 * Register Mailer Service
 */
$this->di['mailer'] = function() {
    $service = new MailerService([
        'driver' => 'smtp', // mail, sendmail, smtp
        'host'   => 'smtp.email.com',
        'port'   => 587,
        'from'   => [
            'address' => 'no-reply@my-domain.com',
            'name'    => 'My Cool Company',
        ],
        'encryption' => 'tls',
        'username'   => 'no-reply@my-domain.com',
        'password'   => 'some-strong-password',
        'sendmail'   => '/usr/sbin/sendmail -bs',
        // Путь используемый для поиска шаблонов писем
        'viewsDir'   => __DIR__ . '/../app/views/', // optional
    ]);

    return $service->mailer();
};
```

Отправка письма
---------------

[](#отправка-письма)

Пример для контроллера, но работать будет не только в контроллерах

```
$this->mailer->send('emails/xxx', [
    'test' => 'test' // Переменные для передачи в шаблон
], function($message) {
    $message->to('some_email@email.com');
    $message->subject('Test Email');
});
```

где, emails/xxx - шаблон письма расположенный в каталоге views, (app/views/emails/xxx.\[phtml|volt\])

По умолчанию, если в контейнере зарегистрирован сервис `view` библиотека будет использовать его, соответственно можно использовать любой удобный доступный шаблонизатор (phtml, volt и т.д.)

Настройки
---------

[](#настройки)

Настройки по умолчанию необходимо прописать в конфигурационном файле вашего приложения config/config.php

```
