ofat / yii2-yashop-ses

此包已被放弃,不再维护。作者建议使用 prasanthsGandiva/yii2-ses 包。

通过Amazon SES发送邮件的扩展

安装次数: 112,987

依赖项: 0

建议者: 0

安全: 0

星标: 6

关注者: 5

分支: 19

公开问题: 6

类型: yii2-extension

v1.0.3 2016-12-07 16:13 UTC

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