cab91 / yii2-yashop-ses
通过Amazon SES发送电子邮件的扩展
v1.0.5
2022-01-28 05:51 UTC
Requires
- yiisoft/yii2: *
README
通过Amazon SES发送电子邮件的扩展。支持AWS签名版本4。
安装
安装此扩展的首选方式是通过composer。
运行以下命令之一:
php composer.phar require --prefer-dist kab91/yii2-yashop-ses "*"
或者在您的composer.json
文件的require部分添加以下内容:
"kab91/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);