laraben/laravel-postmark

Laravel通过Postmark API发送邮件的包

v2.5.0 2019-07-26 16:30 UTC

README

Postmark

Laravel Postmark

[![最新版本在Packagist][ico-version]][link-packagist] ![软件许可][ico-license] [![构建状态][ico-travis]][link-travis] [![覆盖率状态][ico-scrutinizer]][link-scrutinizer] [![质量评分][ico-code-quality]][link-code-quality] [![总下载量][ico-downloads]][link-downloads]

Postmark是确保您的重要交易性邮件到达客户收件箱的最简单和最可靠的方式。

升级

请参阅UPGRADE以获取详细信息。

安装

您可以通过composer安装此包

$ composer require laraben/laravel-postmark

该包将自动注册自身。

您可以选择使用以下方式发布配置文件:

php artisan vendor:publish --provider="Coconuts\Mail\PostmarkServiceProvider" --tag="config"

使用方法

通过在.env文件中添加您的服务器密钥并将您的邮件驱动设置为postmark来更新您的文件。

MAIL_DRIVER=postmark
POSTMARK_SECRET=YOUR-SERVER-KEY-HERE

就是这样!邮件系统将继续以前的方式工作,您可以将Postmark切换为任何预包装的Laravel邮件驱动(smtp, mailgun, log等)。

记住,当使用Postmark时,您在邮件中使用的发送地址必须是您已经配置的有效的发送者签名

Postmark模板

Postmark提供了一种出色的模板服务,您可以利用它而不是在您的Laravel应用程序中维护模板。如果您想利用这一点,此包在Laravel开箱即用的MailMessage基础上提供了一个扩展。在Laravel通知中,您可以执行以下操作以开始利用Postmark模板。

public function toMail($notifiable)
{
    return (new \Coconuts\Mail\MailMessage)
        ->identifier(8675309)
        ->include([
            'name' => 'Customer Name',
            'action_url' => 'https://example.com/login',
        ]);
}

您还可以使用->alias()方法使用别名而不是模板标识符。

Postmark标签

如果您依赖在Postmark中使用标签对发出的邮件进行分类,您只需在Mailable类的build方法中添加一个标题即可。

public function build()
{
    $this->withSwiftMessage(function (\Swift_Message $message) {
        $message->getHeaders()->addTextHeader('tag', 'value');
    });
}

Postmark元数据

类似于标签,您也可以通过添加标题来包含元数据。元数据标题应以前缀metadata-开头,其中后面的字符串是元数据键。

public function build()
{
    $this->withSwiftMessage(function (\Swift_Message $message) {
        $message->getHeaders()->addTextHeader('metadata-field', 'value');
        $message->getHeaders()->addTextHeader('metadata-another-field', 'another value');
    });
}

在这种情况下,以下对象将被发送到Postmark作为元数据。

{
    "field": "value",
    "another-field", "another value"
}

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

测试

$ composer test

贡献

请参阅CONTRIBUTINGCONDUCT以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件craig.paul@coconutcalendar.com而不是使用问题跟踪器。

致谢

  • Laraben
  • [Craig Paul][link-author]
  • [所有贡献者][link-contributors]