coconutcraig / laravel-postmark
Laravel通过Postmark API发送邮件的包
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- illuminate/mail: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- ext-gd: *
- fakerphp/faker: ^1.17
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.0
Suggests
- mvdnbrk/postmark-inbound: Allows you to process Postmark Inbound Webhooks.
- 3.x-dev
- 3.2.x-dev
- v3.2.0
- 3.1.x-dev
- v3.1.1
- v3.1.0
- 3.0.x-dev
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v3.0.0-RC2
- v3.0.0-RC1
- 2.x-dev
- 2.11.x-dev
- v2.11.2
- v2.11.1
- v2.11.0
- 2.10.x-dev
- v2.10.2
- v2.10.1
- v2.10.0
- 2.9.x-dev
- v2.9.1
- v2.9.0
- 2.8.x-dev
- v2.8.2
- v2.8.1
- v2.8.0
- 2.7.x-dev
- v2.7.2
- v2.7.1
- v2.7.0
- 2.6.x-dev
- v2.6.0
- 2.5.x-dev
- v2.5.0
- 2.4.x-dev
- v2.4.1
- v2.4.0
- 2.3.x-dev
- v2.3.2
- v2.3.1
- v2.3.0
- 2.2.x-dev
- v2.2.0
- 2.1.x-dev
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- 2.0.x-dev
- v2.0.0
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- 1.0.x-dev
- v1.0.0
- v0.2.1
- v0.2.0
- v0.1.0
- v0.0.1
This package is auto-updated.
Last update: 2024-09-19 01:36:41 UTC
README
Laravel Postmark
Postmark是确保您的交易性邮件能够到达客户收件箱的最简单、最可靠的方式。
升级
有关详细信息,请参阅UPGRADE。
安装
您可以通过composer安装此包。
$ composer require coconutcraig/laravel-postmark
该包将自动注册自己。
使用
更新您的.env
文件,添加您的服务器密钥,并将邮件驱动设置为postmark
。
MAIL_MAILER=postmark POSTMARK_TOKEN=YOUR-SERVER-KEY-HERE
就是这样!邮件系统将继续以前的方式工作,并且您可以将Postmark切换到任何预包装的Laravel邮件驱动程序(smtp、mailgun、log等)。
请注意,在使用Postmark时,您的邮件中使用的发送地址必须是您已经配置的有效的发送者签名。
Postmark模板
通知
Postmark提供了一种出色的模板服务,您可以使用它而不是在您的Laravel应用程序中维护模板。如果您想利用这一点,此包提供了对Laravel提供的开箱即用的基本MailMessage
的扩展。在Laravel通知中,您可以执行以下操作以开始利用Postmark模板。
use CraigPaul\Mail\TemplatedMailMessage; public function toMail($notifiable) { return (new TemplatedMailMessage) ->identifier(8675309) ->include([ 'name' => 'Customer Name', 'action_url' => 'https://example.com/login', ]); }
可邮寄
您还可以通过Laravel提供的开箱即用的基本Mailable
的扩展来使用模板化的通知。
use CraigPaul\Mail\TemplatedMailable; use Illuminate\Support\Facades\Mail; $mailable = (new TemplatedMailable()) ->identifier(8675309) ->include([ 'name' => 'Customer Name', 'action_url' => 'https://example.com/login', ]); Mail::to('mail@example.com')->send($mailable);
在两种情况下,您也可以使用
->alias()
方法使用别名而不是模板标识符。
Postmark标签
如果您依赖使用Postmark中的标签来对发出的电子邮件进行分类,您可以在Mailable类的build方法中简单地添加一个标题。
use Symfony\Component\Mailer\Header\TagHeader; use Symfony\Component\Mime\Email; public function build() { $this->withSymfonyMessage(function (Email $message) { $message->getHeaders()->add(new TagHeader('value')) }); }
Postmark元数据
与标签类似,您也可以通过添加标题来包含元数据。
use Symfony\Component\Mailer\Header\MetadataHeader; use Symfony\Component\Mime\Email; public function build() { $this->withSymfonyMessage(function (Email $message) { $message->getHeaders()->add(new MetadataHeader('field', 'value')); $message->getHeaders()->add(new MetadataHeader('another-field', 'another value')); }); }
在这种情况下,以下对象将被发送到Postmark作为元数据。
{
"field": "value",
"another-field", "another value"
}
Postmark服务器
默认情况下,我们使用在您部署的环境中设置的配置变量来确定您发送到的Postmark服务器。这适用于大多数用例,但如果您需要或希望在运行时确定Postmark服务器,您可以在发送过程中提供标题。
use CraigPaul\Mail\PostmarkServerTokenHeader; use Symfony\Component\Mime\Email; public function build() { $this->withSymfonyMessage(function (Email $message) { $message->getHeaders()->add(new PostmarkServerTokenHeader('POSTMARK_TOKEN')) }); }
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
测试
$ composer test
贡献
有关详细信息,请参阅CONTRIBUTING和CONDUCT。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅我们的安全策略。
致谢
许可
MIT 许可证(MIT)。更多信息请参阅许可文件。