accessd/yii2-async-mailer

Async mailer decorator for Yii2

Installs: 2 143

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 8

Type:yii2-extension

1.0.1 2023-01-12 12:46 UTC

This package is not auto-updated.

Last update: 2024-11-01 20:11:47 UTC


README

Async mailer decorator for Yii2

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yarcode/yii2-async-mailer

or add

"yarcode/yii2-async-mailer": "*"

Usage

Configure async component of your application. You can find the details here: https://packagist.org/packages/bazilio/yii2-async

Configure YarCode\Yii2\AsyncMailer\Mailer as your primary mailer.

  'mailer' => [
      'class' => '\YarCode\Yii2\AsyncMailer\Mailer',
      'syncMailer' => [
          'class' => 'yii\swiftmailer\Mailer',
          'useFileTransport' => true,
      ],
  ],

Add mailer command to the console config file.

  'controllerMap' => [
      'mailer' => [
          'class' => '\YarCode\Yii2\AsyncMailer\MailerCommand',
      ],
  ],

Run the mailer daemon in the background.

yii mailer/daemon

Now you can send your emails as usual.

$message = \Yii::$app->mailer->compose()
  ->setSubject('test subject')
  ->setFrom('test@example.org')
  ->setHtmlBody('test body')
  ->setTo('user@example.org');

\Yii::$app->mailer->send($message);