nfacha/yii2-yashop-ses

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

维护者

详细信息

github.com/nfacha/yashop-ses

源代码

安装: 7

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 19

类型:yii2-extension

1.0.6 2021-02-18 12:18 UTC

This package is auto-updated.

Last update: 2024-09-18 20:07:45 UTC


README

通过 Amazon SES 发送电子邮件的扩展。属于 nfacha 的一部分

安装

安装此扩展的首选方式是通过 Composer

运行以下命令之一

php composer.phar require --prefer-dist nfacha/yii2-yashop-ses "*"

或者

"nfacha/yii2-yashop-ses": "*"

将以下内容添加到您的 composer.json 文件的 require 部分中。

使用方法

要使用此扩展,您应该在应用程序配置中配置它,如下所示

'components' => [
    ...
    'mail' => [
        'class' => 'nfacha\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);