mailjet/laravel-mailjet

用于处理Mailjet API V3和Laravel Mailjet邮件传输的Laravel包

3.1.0 2024-08-23 15:55 UTC

README

Build Status Packagist Packagist GitHub license Documentation

Laravel包,用于使用此封装器处理Mailjet API v3:https://github.com/mailjet/mailjet-apiv3-php

它还提供了用于Laravel邮件功能的mailjetTransport

安装

首先,在依赖项中包含此包

composer require mailjet/laravel-mailjet

然后,您需要在配置文件中添加一些信息。您可以在此处找到您的Mailjet API密钥/密钥。请还设置您的发件人电子邮件地址和名称。

  • 在提供者数组中
'providers' => [
    ...
    Mailjet\LaravelMailjet\MailjetServiceProvider::class,
    ...
]

Laravel 11.0+

在文件example-app/bootstrap/providers.php

use Mailjet\LaravelMailjet\MailjetServiceProvider;

return [
    App\Providers\AppServiceProvider::class,
    MailjetServiceProvider::class,
];
  • 在别名数组中
'aliases' => [
    ...
    'Mailjet' => Mailjet\LaravelMailjet\Facades\Mailjet::class,
    ...
]
  • 在services.php文件中
'mailjet' => [
    'key' => env('MAILJET_APIKEY'),
    'secret' => env('MAILJET_APISECRET'),
]
  • 在您的.env文件中
MAILJET_APIKEY=YOUR_APIKEY
MAILJET_APISECRET=YOUR_APISECRET
MAIL_FROM_ADDRESS=YOUR_EMAIL_FROM_ADDRESS
MAIL_FROM_NAME=YOU_FROM_NAME

完整配置

有关详细信息,请参阅配置文档

邮件驱动配置

为了使用Mailjet作为您的邮件驱动,您需要更新config/mail.php或您的.env文件中的邮件驱动到MAIL_MAILER=mailjet(对于Laravel 6及更早版本,请使用MAIL_DRIVER常量),并确保您正在使用配置在您的Mailjet账户上的有效且授权的发件人电子邮件地址。发送电子邮件地址和域名可以在此处管理

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

'mailers' => [
    ...

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

有关使用方法的详细信息,请参阅Laravel邮件文档

使用

为了使用此包,您首先需要在代码中导入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 API文档

所有方法返回Mailjet\Response,在API错误的情况下抛出MailjetException

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

如果您需要删除联系人,您需要注册ContactsServiceProvider

  • 在提供者数组中
'providers' => [
    ...
    \Mailjet\LaravelMailjet\Providers\ContactsServiceProvider::class,
    ...
]

并使用它

public function handle(ContactsV4Service $contactsV4Service)
{
    $response = $contactsV4Service->delete(351406781);
    ...
}