cab91 / yii2-yashop-ses

通过Amazon SES发送电子邮件的扩展

维护者

详细信息

github.com/kab91/yashop-ses

源代码

安装次数:304,491

依赖项: 0

建议者: 0

安全性: 0

星级: 1

关注者: 0

分支: 19

类型:yii2-extension

v1.0.5 2022-01-28 05:51 UTC

This package is auto-updated.

Last update: 2024-08-28 11:27:01 UTC


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);