ofat / yii2-yashop-ses
此包已被放弃,不再维护。作者建议使用 prasanthsGandiva/yii2-ses 包。
通过Amazon SES发送邮件的扩展
v1.0.3
2016-12-07 16:13 UTC
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2022-04-14 14:02:39 UTC
README
通过Amazon SES发送邮件的扩展。YaShop的一部分
安装
安装此扩展的首选方式是通过 Composer。
运行以下命令之一:
php composer.phar require --prefer-dist ofat/yii2-yashop-ses "*"
或者添加以下内容到你的 composer.json
文件的 require 部分:
"ofat/yii2-yashop-ses": "*"
(此处省略具体代码)
使用方法
要使用此扩展,你需要在应用配置中按如下方式配置:
'components' => [ ... 'mail' => [ 'class' => 'yashop\ses\Mailer', 'access_key' => 'Your access key', 'secret_key' => 'Your secret key', 'host' => 'email.us-east-1.amazonaws.com' // not required ], ... ],
要发送邮件,可以使用以下代码:
Yii::$app->mail->compose('contact/html', ['contactForm' => $form]) ->setFrom('from@domain.com') ->setTo($form->email) ->setSubject($form->subject) ->send();
要发送带头部的邮件,可以使用以下代码:
Yii::$app->mail->compose('contact/html', ['contactForm' => $form]) ->setFrom('from@domain.com') ->setTo($form->email) ->setSubject($form->subject) ->setHeader('Precedence', 'bulk') ->setHeader('List-id', '<1>') ->setHeader('List-Unsubscribe', Url::to(['user/unsubscribe'], true)) ->send();
提高发送邮件的速度
Yii::$app->mailer->getSES()->enableVerifyHost(false); Yii::$app->mailer->getSES()->enableVerifyPeer(false); Yii::$app->mailer->getSES()->enableKeepAlive(); foreach ($emails as $email) { Yii::$app->mail->compose('delivery/mail', []) ->setFrom('from@domain.com') ->setTo($email) ->setSubject($subject) ->setHeader('Precedence', 'bulk') ->setHeader('List-id', '<1>') ->setHeader('List-Unsubscribe', Url::to(['user/unsubscribe'], true)) ->send(); } Yii::$app->mailer->getSES()->enableKeepAlive(false);