thedoctor0/laravel-mailjet-driver

Laravel 邮件驱动包,用于 Mailjet 及其 API 的封装

2.0.2 2024-03-02 09:21 UTC

This package is auto-updated.

Last update: 2024-09-12 08:26:01 UTC


README

Build Status Packagist Packagist License

Laravel 邮件驱动包,用于 Mailjet。它还作为 Mailjet API v3 的封装。

安装

对于 Laravel 9.x 和 10.x,这些版本还要求使用 Symfony Mailer

composer require thedoctor0/laravel-mailjet-driver symfony/http-client

其他情况

composer require thedoctor0/laravel-mailjet-driver:1.0.4

配置

您可以在 这里 找到您的 Mailjet API 密钥/密钥。

更改默认邮件驱动并在您的 .env 文件中添加新变量

MAIL_DRIVER=mailjet

MAILJET_APIKEY=YOUR_APIKEY
MAILJET_APISECRET=YOUR_APISECRET

将部分添加到 config/services.php 文件

'mailjet' => [
    'key' => env('MAILJET_APIKEY'),
    'secret' => env('MAILJET_APISECRET'),
],

确保在 config/mail.php 中,邮件发送地址使用您在 Mailjet 账户上配置的授权电子邮件地址。

您可管理的 Mailjet 电子邮件地址和域名可以在 这里 管理。

对于 Laravel 7+,您还需要在 config/mail.php 中指定新的可用邮件驱动

'mailers' => [
    ...

    'mailjet' => [
        'transport' => 'mailjet',
    ],
],

可选配置

您可以将 MailjetClient 的完整配置添加到 config/services.php 文件。

  • transactional:用于发送 API 客户端的设置
  • common:通过 Facade Mailjet 访问 MailjetClient 的设置
  • v4:用于某些 DataProvider 的设置
'mailjet' => [
    'key' => env('MAILJET_APIKEY'),
    'secret' => env('MAILJET_APISECRET'),
    'transactional' => [
        'call' => true,
        'options' => [
            'url' => 'api.mailjet.com',
            'version' => 'v3.1',
            'call' => true,
            'secured' => true
        ],
    ],
    'common' => [
        'call' => true,
        'options' => [
            'url' => 'api.mailjet.com',
            'version' => 'v3',
            'call' => true,
            'secured' => true
        ],
    ],
    'v4' => [
        'call' => true,
        'options' => [
            'url' => 'api.mailjet.com',
            'version' => 'v4',
            'call' => true,
            'secured' => true
        ]
    ],
],

API 封装器使用

要从此包中获取 API 封装器,您首先需要在代码中导入 Mailjet Facade

use Mailjet\LaravelMailjet\Facades\Mailjet;

然后您可以使用 MailjetServices 类中可用的方法之一。

低级 API 方法

  • Mailjet::get($resource, $args, $options)
  • Mailjet::post($resource, $args, $options)
  • Mailjet::put($resource, $args, $options)
  • Mailjet::delete($resource, $args, $options)

高级 API 方法

  • Mailjet::getAllLists($filters)
  • Mailjet::createList($body)
  • Mailjet::getListRecipients($filters)
  • Mailjet::getSingleContact($id)
  • Mailjet::createContact($body)
  • Mailjet::createListRecipient($body)
  • Mailjet::editListrecipient($id, $body)

所有方法返回 Mailjet\Response,在出现任何 API 错误时抛出 MailjetException

您还可以使用 getClient() 方法获取 Mailjet API 客户端,并向 Mailjet API 发送自定义请求。

有关更多信息,请参阅官方的 Mailjet API 文档