2017 © Pedro Peláez
 

library phalcon-mailer

Phalcon Mailer Service

image

vanchelo/phalcon-mailer

Phalcon Mailer Service

  • Wednesday, February 14, 2018
  • by vanchelo
  • Repository
  • 9 Watchers
  • 40 Stars
  • 1,505 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 15 Forks
  • 3 Open issues
  • 5 Versions
  • 2 % Grown

The README.md

Phalcon Mailer

Удобная библиотека для отправки Вашей почты в Phalcon., (*1)

Код заимствован из Laravel 4 и адаптирован под Phalcon., (*2)

Установка

C помощью composer:, (*3)

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

"vanchelo/phalcon-mailer": "dev-master"

Должно получится примерно так:, (*5)

{
  "require": {
    "vanchelo/phalcon-console": "dev-master"
  }
}

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

composer update

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

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

    return $service->mailer();
};

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

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

$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]), (*8)

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

Настройки

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

<?php
return new \Phalcon\Config(array(
    'application' => array(
        // Путь используемый для поиска шаблонов писем
        'viewsDir'  => __DIR__ . '/../app/views/',
        /* ... */
    ),

    'mail' => array(
        'driver' => 'smtp', // mail, sendmail, smtp
        'host'   => 'smtp.email.com',
        'port'   => 587,
        'from'   => array(
            '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',
    ),
));

Если будет необходимость, настройки почты можно вынести в отдельный конфигурационный файл, (*11)

UPD. Реализована возможность использования очередей для отложенной отправки почты через реализованный в Phalcon сервис очередей Beanstalk, (*12)

Очереди (отложенная отправка почты)

Для отложенной отправки почты у вас должен быть зарегистрирован сервис queue в контейнере, например:, (*13)

use Phalcon\Queue\Beanstalk;

$this->di['queue'] = function () {
    $queue = new Beanstalk();
    $queue->connect(); // ?

    return $queue;
};

Пример отложенной отправки почты, (*14)

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

Вся отложенная почта помещается в очередь mailer (не знаю насколько это правильно), (*15)

Пример обработчика очереди https://github.com/vanchelo/phalcon-mailer/blob/master/example/mailer.php, (*16)

The Versions

14/02 2018

2.0.x-dev

2.0.9999999.9999999-dev https://github.com/vanchelo/phalcon-mailer

Phalcon Mailer Service

  Sources   Download

GPLv2 GPL-2.0-or-later

The Requires

 

The Development Requires

mail mailer phalcon

05/11 2016

dev-master

9999999-dev https://github.com/vanchelo/phalcon-mailer

Phalcon Mailer Service

  Sources   Download

GPLv2

The Requires

 

mail mailer phalcon

07/09 2015

2.0.1

2.0.1.0 https://github.com/vanchelo/phalcon-mailer

Phalcon Mailer Service

  Sources   Download

GPLv2

The Requires

 

The Development Requires

mail mailer phalcon

07/09 2015

2.0

2.0.0.0 https://github.com/vanchelo/phalcon-mailer

Phalcon Mailer Service

  Sources   Download

GPLv2

The Requires

 

The Development Requires

mail mailer phalcon

29/11 2014

1.1.0

1.1.0.0 https://github.com/vanchelo/phalcon-mailer

Phalcon Mailer Service

  Sources   Download

GPLv2

The Requires

 

mail mailer phalcon