webup/laravel-sendinblue

此包已被弃用且不再维护。作者建议使用 symfony/sendinblue-mailer 包。

SendinBlue 的 Laravel 邮件传输

v3.5.0 2022-06-01 08:20 UTC

README

maintenance-status No Maintenance Intended

截至 2023 年 4 月,此存储库已弃用且不再维护。

由于 Laravel 9 开始官方支持 SendinBlue 作为常规邮件传输,归功于 symfony/sendinblue-mailer。它通过 API 和 SMTP 支持 SiB,包括模板、标签和自定义头部。由于 Laravel 8 已达到其 生命周期的结束,官方支持现已成为新默认值。

有关如何在您的 Laravel 项目中使用它的更多信息,请参阅 Laravel 文档

对于超出此范围的需求,请使用 Sendinblue 的官方 PHP SDK

如果您需要修改它以适应旧版,请随时在此存储库上进行分支。

特别感谢多年来一直支持此项目的出色贡献者 🙏。你们太棒了 🤘

摘要

安装

composer require webup/laravel-sendinblue

兼容性

版本 Laravel Sendinblue Api
3.* 7.0 及以上 v3
2.* 5.5 - 6.* v3
1.1.* 5.5 - 6.* v2
1.0.* 5.0 - 5.4 v2

配置

config/mail.php

    'mailers' => [
        // ...
        'sendinblue' => [
            'transport' => 'sendinblue',
        ],
    ]

config/services.php

    'sendinblue' => [
        // api-key or partner-key
        'key_identifier' => env('SENDINBLUE_KEY_IDENTIFIER', 'api-key'),
        'key' => env('SENDINBLUE_KEY'),
    ],

.env

MAIL_MAILER=sendinblue
SENDINBLUE_KEY=your-access-key

# if you need to set the guzzle proxy config
# those are example values
HTTP_PROXY="tcp://:8125"
HTTPS_PROXY="tcp://:9124"
NO_PROXY=.mit.edu,foo.com

使用模板 ID 的可邮寄文件中的用法

使用 sendinblue() 方法,您可以传递以下列出的额外字段。所有字段都是可选的

  • template_id (整数)
  • tags (数组)
  • params (数组)

如果您想使用模板中定义的主题,则必须在 subject() 中传递 SendinBlueTransport::USE_TEMPLATE_SUBJECT 占位符。您也可以在这里覆盖主题文本。如果没有 subject() 方法,主题将从类名中推导出来。

可邮寄文件需要视图 - 在 view() 方法中传递空数组。

<?php

declare(strict_types=1);

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Webup\LaravelSendinBlue\SendinBlue; // <- you need this
use Webup\LaravelSendinBlue\SendinBlueTransport; // <- you need this

class MyMailable extends Mailable
{
    use Queueable;
    use SerializesModels;
    use SendinBlue; // <- you need this

    // ...

    public function build()
    {
        return $this
            ->view([])
            ->subject(SendinBlueTransport::USE_TEMPLATE_SUBJECT) // use template subject
            // ->subject('My own subject') // subject overridden
            ->sendinblue(
                [
                    'template_id' => 84,
                    'tags'        => ['offer'],
                    'params'      => [
                        'FIRSTNAME' => 'John',
                        'LINK'      => 'https://www.example.com',
                        'AMOUNT'    => '29',
                    ],
                ]
            );
    }
}

参数在 SendinBlue 模板中可访问,如下所示

  • {{ params.FIRSTNAME }}
  • {{ params.LINK }}
  • {{ params.AMOUNT }}

您还可以在主题字段中使用参数替换,例如。
{{ params.FIRSTNAME }}, 忘记您的密码?!

注意:不要在变量名中使用连字符 '-'。 {{ params.FIRST_NAME }} 将正常工作,但 {{ params.FIRST-NAME }} 将失败。来源:sendinblue/APIv3-php-library#151

关于附加功能

此库旨在为 SendInBlue 提供与 Laravel 兼容的接口,并支持模板 ID、标签和参数。

如果您需要像特定 SendInBlue 测试版 SMTP 模板批处理这样的功能,您应直接使用官方 SendInBlue PHP 库。