phuongdev89/yii2-email-manager
Composer 安装命令:
composer require phuongdev89/yii2-email-manager
包简介
Yii2 Email Manager
README 文档
README
Composer
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist phuongdev89/yii2-email-manager "@dev"
or add
"phuongdev89/yii2-email-manager": "@dev"
to the require section of your composer.json file.
Migration
Migration run
php yii migrate --migrationPath=@vendor/phuongdev89/yii2-email-manager/src/migrations
Configuration
Simple configuration:
'components' => [
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => false,
'host' => 'smtp.gmail.com',
'username' => 'test@gmail.com',
'password' => '12345678',
'port' => '587',
'encryption' => 'TLS',
],
'emailManager' => [
'class' => '\phuongdev89\email\EmailManager',
'defaultTransport' => 'yiiMailer',
'resendAfter' => 5,//resend after 5 mins if stuck
'tryTime' => 3,//max try time resend
'transports' => [
'yiiMailer' => [
'class' => '\phuongdev89\email\transports\YiiMailer',
],
/*
'mailGun' => [ //Not required
'class' => '\phuongdev89\email\transports\MailGun',
'apiKey' => 'xxx',
'domain' => 'our-domain.net',
],
*/
],
],
],
'modules' => [
'mailer' => [
'class' => 'phuongdev89\email\Module',
'cleanAfter' => 30//clean after days
],
]
Advanced config
First you need phuongdev89/yii2-setting installed, create 5 records on Setting module:
smtp_host(value:smtp.gmail.com)smtp_user(value:test@gmail.com)smtp_password(value:12345678)smtp_port(value:587)smtp_encryption(value:TLS)
'components' => [
'mailer' => [
'class' => '\phuongdev89\email\swiftmailer\Mailer',
],
'emailManager' => [
'class' => '\phuongdev89\email\components\EmailManager',
'defaultTransport' => 'yiiMailer',
'resendAfter' => 5,//resend after 5 mins if stuck
'tryTime' => 3,//max try time resend
'transports' => [
'yiiMailer' => [
'class' => '\phuongdev89\email\transports\YiiMailer',
],
/*
'mailGun' => [
'class' => '\phuongdev89\email\transports\MailGun',
'apiKey' => 'xxx',
'domain' => 'our-domain.net',
],
*/
],
],
]
'modules' => [
'mailer' => [
'class' => 'phuongdev89\email\Module',
'cleanAfter' => 30//clean after days
],
]
Add command to the list of the available commands. Put it into console app configuration:
'controllerMap' => [
'email' => '\phuongdev89\email\commands\EmailController',
],
Add email sending daemon into crontab, can be via lockrun or run-one utils (read more phuongdev89/yii2-cron):
*/5 * * * * php /your/site/path/yii email/start
Usage
##Backend Access this url:
http://backend.yourdomain.com/mailer
or
http://backend.yourdomain.com/index.php?r=mailer
##Simple usage
// obtain component instance
$emailManager = EmailManager::getInstance();
// direct send via default transport
$emailManager->send('from@example.com', 'to@example.com', 'test subject', 'test email');
// queue send via default transport
$emailManager->queue('from@example.com', 'to@example.com', 'test subject', 'test email');
// direct send via selected transport
$emailManager->transports['mailGun']->send('from@example.com', 'to@example.com', 'test subject', 'test email');
##Advanced usage
Create a shortcut name welcome_email. Example:
Welcome {{fullname}},
Thanks for registered at {{url}}.
Your username: <b>{{username}}</b>
Your phone: <b>{{phone}}</b>
Send/Queue welcome email when done:
// use shortcuts
$user = new User();
$user->fullname = "Test ABC";
$user->username = "testabc";
$user->email = "test@gmail.com";
$user->phone = "0123456789";
...
if($user->save()) {
EmailTemplate::findByShortcut('welcome_email')->queue($user->email, ['fullname' => $user->fullname, 'username' => $user->username, 'ur' => 'http://domain.com', 'phone' => $user->phone]);
}
phuongdev89/yii2-email-manager 适用场景与选型建议
phuongdev89/yii2-email-manager 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 131 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 01 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「email」 「module」 「component」 「yii2」 「email queue」 「email manager」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 phuongdev89/yii2-email-manager 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 phuongdev89/yii2-email-manager 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 phuongdev89/yii2-email-manager 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
FSi DataSource Component
Priveate for SkeekS CMS
Extensible library for building notifications and sending them via different delivery channels.
Email+ extends Kirby's email capabilities by adding support for multiple email services using the same Kirby email API.
bootstrap select field module implementing http://silviomoreto.github.io/bootstrap-select/
Module for bootstrapping components in the Monolith framework.
统计信息
- 总下载量: 131
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-01-10