wdmg/yii2-mailer

Mail manager

Installs: 19

Dependents: 1

Suggesters: 0

Security: 0

Stars: 2

Watchers: 3

Forks: 2

Open Issues: 0

Type:yii2-extension

1.3.3 2019-12-16 01:30 UTC

This package is auto-updated.

Last update: 2020-01-16 01:42:04 UTC


README

Yii2 Github all releases Progress GitHub license GitHub release

Yii2 Mailer

Mail manager for Yii2

Requirements

Installation

To install the module, run the following command in the console:

$ composer require "wdmg/yii2-mailer"

After configure db connection, run the following command in the console:

$ php yii mailer/init

And select the operation you want to perform:

  1. Apply all module migrations
  2. Revert all module migrations

Migrations

In any case, you can execute the migration and create the initial data, run the following command in the console:

$ php yii migrate --migrationPath=@vendor/wdmg/yii2-mailer/migrations

Configure

To add a module to the project, add the following data in your configuration file:

'modules' => [
    ...
    'mailer' => [
        'class' => 'wdmg\mailer\Module',
        'routePrefix' => 'admin'
        'saveMails' => true, // if need save mail after send
        'mailsPath' => '@runtime/mail', // path to save mails
        'trackMails' => true, // if need tracking mail after send
        'trackingRoute' => '/mail', // route to tracking mails
        'saveWebMails' => false, // flag if need save web version of mail`s
        'webRoute' => '/mails', // route to web mails
        'webMailsPath' => '@webroot/mails', // path to save web version of sending mail
        'sendingInterval' => 1, // message sending interval in sec.
        'useTransport' => false, // flag for use transport configuration
        'transport' => [ // default transport configuration
            'class' => 'Swift_SmtpTransport',
            'host' => 'localhost',
            'username' => '',
            'password' => '',
            'port' => '25'
        ],
        'useEncryption' => false, // flag for use encryption in transport
        'encryption' => 'ssl', // default encryption configuration
        'useStreamOptions' => false, // flag for use stream options in transport
        'streamOptions' => [ // default stream options
            'ssl' => [
                'allow_self_signed' => false,
                'verify_peer' => false,
                'verify_peer_name' => false
            ]
        ], 
        'viewPath' => '@app/mail', // views of mail`s messages
        'enableLog' => true // flag for debug
    ],
    ...
],

Usage

See the USECASES.md for more details.

Routing

Use the Module::dashboardNavItems() method of the module to generate a navigation items list for NavBar, like this:

<?php
    echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
        'label' => 'Modules',
        'items' => [
            Yii::$app->getModule('mailer')->dashboardNavItems(),
            ...
        ]
    ]);
?>

Status and version [ready to use]

  • v.1.3.3 - Added pagination and report export
  • v.1.3.2 - Fixed deprecated class declaration
  • v.1.3.1 - Some bugs fixed