craftcodery/clicksend

Laravel 的 ClickSend 集成

4.0.0 2023-03-07 05:01 UTC

This package is auto-updated.

Last update: 2024-09-07 08:30:02 UTC


README

此包简化了通过 ClickSend 在 Laravel 应用中发送信件和明信片的过程。

安装

您可以通过 composer 安装此包

composer require craftcodery/clicksend

准备数据库

您必须发布和运行迁移

php artisan vendor:publish --provider="CraftCodery\ClickSend\ClickSendServiceProvider" --tag="migrations"
php artisan migrate

发布配置文件

您可以使用以下命令发布配置文件:

php artisan vendor:publish --provider="CraftCodery\ClickSend\ClickSendServiceProvider" --tag="config"

发布配置文件允许您自定义用于设置 ClickSend 用户名和 API 密钥的环境变量。

配置使用

首先设置 ClickSend 用户名和 API 密钥的环境变量。默认情况下,包会查找 CLICKSEND_USERNAMECLICKSEND_KEY

任何您希望能够接收邮件的模型都需要使用 CraftCodery\ClickSend\Traits\CanReceiveMailers。该特质只需要一个方法,即 mailerRecipientAddress,它返回一个格式化的地址信息数组。下面是所需数组结构的示例。

/**
 * Get the recipient's address for ClickSend mailers.
 *
 * @return array
 */
public function mailerRecipientAddress()
{
    return [
        'address_name'        => $this->name,
        'address_line_1'      => $this->address,
        'address_line_2'      => $this->address_2,
        'address_city'        => $this->city,
        'address_state'       => $this->state,
        'address_postal_code' => $this->postal_code,
        'address_country'     => $this->country,
    ];
}

类似地,任何您希望能够发送邮件的模型都需要使用 CraftCodery\ClickSend\Traits\CanSendMailers。该特质只需要一个方法,即 mailerReturnAddress,它返回一个格式化的回邮地址信息数组。下面是所需数组结构的示例。

/**
 * Get the sender's return address for ClickSend mailers.
 *
 * @return array
 */
public function mailerReturnAddress()
{
    return [
        'address_name'        => $this->name,
        'address_line_1'      => $this->address,
        'address_line_2'      => $this->address_2,
        'address_city'        => $this->city,
        'address_state'       => $this->state,
        'address_postal_code' => $this->postal_code,
        'address_country'     => $this->country,
    ];
}

发送项目

sendLetterTosentPostcardTo 方法对使用 CanSendMailers 特质的任何模型都可用。

每个方法都需要一个接收模型(使用 CanReceiveMailers 特质)作为第一个参数。信件需要内容作为第二个参数,而明信片需要 PDF URL 作为第二个参数,内容作为第三个参数。

明信片方法中作为第二个参数使用的 PDF 将被发送在明信片的正面。内容将被发送在背面。

$user->sendLetterTo($recipient, 'This is the content of the letter.');
$user->sendPostcardTo($recipient, 'https://example.com/postcard-image.pdf', 'This is the content on the rear of the postcard.');

许可证

MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。