yiicod/yii2-mailqueue 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

yiicod/yii2-mailqueue

最新稳定版本:1.1.1

Composer 安装命令:

composer require yiicod/yii2-mailqueue

包简介

The simple and powerful Mail Queue for the Yii2 framework

README 文档

README

Latest Stable Version Total Downloads Scrutinizer Code QualityCode Climate

Mail queue for emails. You don't need think how many emails will be send, because when you install this extension you can setting this. You will have table, where you can see emails status.

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yiicod/yii2-mailqueue "*"

or add

"yiicod/yii2-mailqueue": "*"

to the require section of your composer.json.

run

php yii migrate/up --migrationPath=@vendor/yiicod/yii2-mailqueue/migrations

Please note that messages are wrapped with Yii::t() to support message translations, you should define default message source for them if you don't use i18n.

'i18n' => [
    'translations' => [
        '*' => [
            'class' => 'yii\i18n\PhpMessageSource'
        ],
    ],
],

Config

Use pm2(http://pm2.keymetrics.io/) as daemons manager.

'components' => [
    'mailqueue' => [
        'class' => 'yiicod\mailqueue\WorkerCommand',
    ],
]
...
'bootstrap' => array('mailqueue')

Full config you can find in the yiicod\mailqueue\config.

Console command

'commandMap' => [
    'mail-queue' => [
        'class' => 'yiicod\mailqueue\commands\MailQueueCommand',
    ],
],
OR use pm2(http://pm2.keymetrics.io/). This variant more preferable.
'commandMap' => [
    'mail-queue' => [
        'class' => 'yiicod\mailqueue\commands\WorkerCommand',
    ],
],
pm2 config:
    {
      "apps": [
        {
          "name": "job-queue",
          "script": "yii",
          "args": [
            "mailqueue/work"
          ],
          "exec_interpreter": "php",
          "exec_mode": "fork_mode",
          "max_memory_restart": "1G",
          "watch": false,
          "merge_logs": true,
          "out_file": "runtime/logs/job_queue.log",
          "error_file": "runtime/logs/job_queue.log"
        }
      ]
    }
Run PM2 daemons
pm2 start daemons-app.json

Migration usage

Migration command or use manual(http://www.yiiframework.com/doc-2.0/guide-db-migrations.html) for configuration:

   yii migrate --migrationPath=@yiicod/mailqueue/migrations

Push in queue

/**
 * Add mail from queue
 * @param string $to Email to
 * @param string $subject Email subject
 * @param string $body email, html
 * @param string|Array $from From email
 * @param string $attachs Attach for email array('path' => 'file path', 'name' => 'file bname')
 * @param Array $additionalFields Any additional fields
 */
Yii::app()->mailQueue->push($to, $subject, $body, $from = '', array $attachs = [], $additionalFields = []);

or

/**
 * Push mass
 * array(
 *    array(
 *      'field name to' => '',
 *      'field name subject' => '',
 *      'field name body' => '',
 *      'field name priority' => '',
 *      'field name from' => '',
 *      'field name attachs' => '',
 *    )
 * )
 * @param Array $data
 * @return int Return int
 */
Yii::app()->mailQueue->pushMass($data)

统计信息

  • 总下载量: 1.13k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 3
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-07-26