radig / gear-mailer
该包已被弃用且不再维护。未建议替代包。
使用Gearman和Amazon SES异步发送电子邮件
1.2.0
2014-03-12 20:15 UTC
Requires
- php: >=5.4.0
- ext-gearman: *
- aws/aws-sdk-php: 2.*
- composer/installers: ~1.0
README
一个插件,允许使用Gearman和Amazon SES发送电子邮件。
要求
- CakePHP 2.x
- AWS SDK for PHP 2
- Gearman
- Gearman PHP 扩展
安装
使用Composer
- 请检查Gearman扩展是否已安装并加载到PHP中
- 在项目根目录下执行
composer install radig/gear-mailer
不使用Composer
- 请检查Gearman扩展是否已安装并加载到PHP中
- 将此存储库克隆、下载或作为子模块放置在Plugins中
- 在app/Vendor/AWS中安装aws-sdk
配置
创建一个具有以下配置的电子邮件配置
public $default = [
'transport' => 'GearMailer.Gear'
];
在您的bootstrap.php中,按照以下方式包含通过AWS SES API发送电子邮件的凭据
Configure::write('GearMailer.credentials', [
'key' => 'sua chave AWS',
'secret' => 'sua chave secreta AWS'
'region' => ''
]);
为了激活负责实际发送电子邮件的Gearman Worker,有两种选择
(1) 使用Systemd管理后台进程
编辑Vendor/gearmailer.service文件,将第6行更改为您的安装中的有效值,然后退出
ExecStart=/usr/bin/php ABSOLUTE_PATH_TO_gearman_email_worker.php
例如,可以留下如下内容
ExecStart=/usr/bin/php /srv/www/app/Plugin/GearMailer/Vendor/gearman_email_worker.php
复制生成的文件,并在您的发行版的目录中配置服务。对于OpenSUSE,将文件(作为root)复制到以下目录:
/usr/lib/systemd/system/gearmailer.service
启用服务
systemctl enable gearmailer.service
启动服务
systemctl start gearmailer.service
(2) 执行CakePHP控制台
Console/cake GearMailer.EmailWorker
并让控制台保持运行。
发送电子邮件
只需使用CakeEmail进行常规电子邮件发送即可
$email = new CakeEmail()
->from($from)
->to($to)
->subject($subject)
->send();
作者和版权
- 版权所有 2013-2014 Radig – IT解决方案
- MIT许可证 – 这意味着代码没有提供任何保证,但您可以在保持信用的情况下单独使用或与自己的代码一起使用,除非明确指出相反。请参阅附带的文件中的详细信息。