jsoma / mailerqueue
Yii 框架的异步邮件发送器
dev-master
2017-11-29 15:35 UTC
Requires
- yiisoft/yii2: *
- yiisoft/yii2-redis: ~2.0.0
This package is not auto-updated.
Last update: 2024-09-29 04:14:36 UTC
README
yii2 redis async mailer
基于 Redis 的邮件异步发送工具
1.config.php
'aliases' => [ '@jsoma/mailer'=>'@vendor/jsoma/mailerqueue/src' ],
'components' => [ ... 'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => 'localhost', // ip/127.0.0.1 'port' => 6379, 'database' => 0, ],
...
'mailer' => [
//redis 发送邮件
'class' => 'jsoma\mailer\MailerQueue',
'db' => '1', // redis select 1
'key' => 'mails', // redis key
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.163.com',
'username' => 'xxx@163.com',
'password' => 'xxx',
'port' => '465',
'encryption' => 'ssl',
],
],
],
-
邮件发送到 Redis
$mailer = Yii::$app->mailer->compose($template, $param=[]);//邮件体 $mailer->setFrom('xxx@163.com'); //发件人 $mailer->setTo('xxx@xxx.com'); // 收件人 $mailer->setSubject('xxx'); // 邮件标题 //if ($mailer->send()) { // if ($mailer->queue()) { // redis 发送 return true; }else{ return false; }}
-
通过 Redis 发送邮件(Linux crontab 定时脚本)
$mailer = new \jsoma\mailer\MailerQueue(); $mailer->process();