skyracer2012 / http-mail-driver
一个将邮件以json格式发送到指定端点的邮件驱动程序
1.2.3
2023-03-11 00:48 UTC
Requires
- php: >=8.0
- guzzlehttp/guzzle: ^7.5
- illuminate/support: ^10.0
- symfony/mailer: ^6.0
Requires (Dev)
- phpunit/phpunit: ^10.0
README
此包为您提供通过HTTP请求发送电子邮件的能力。这对于通过Mailchannels及其Cloudflare Workers合作伙伴关系发送电子邮件非常有用,但也可用于其他应用程序。注意:由于Mailchannels不支持通过其事务消息API进行附件,因此目前没有对附件的支持。
安装
您可以通过composer安装此包
composer require skyracer2012/http-mail-driver
之后,请将HTTP_MAIL_URL
的值设置在您的.env
文件中,该值为您HTTP邮件端点的URL。您还应在.env
文件中定义HTTP_MAIL_KEY
,它将用于在授权头中验证您的请求。
HTTP_MAIL_URL=https://webhook.example.com HTTP_MAIL_KEY=secret
可选地,您还可以添加DKIM数据,这对于Mailchannels集成很有用。有关更多信息,请参阅配置条目。确保它与您的邮件发送者配置匹配,以避免dmarc问题!
HTTP_MAIL_DKIM_ENABLED=true HTTP_MAIL_DKIM_DOMAIN=example.com HTTP_MAIL_DKIM_SELECTOR=mailchannels HTTP_MAIL_DKIM_PRIVATE_KEY=yourprivatkey
接下来,您应在config/mail.php
文件中的mailers
数组下添加http
条目。
'mailers' => [ // other mailers 'http' => [ 'transport' => 'http', 'url' => env('HTTP_MAIL_URL'), 'key' => env('HTTP_MAIL_KEY'), //DKIM settings. Look at https://developers.cloudflare.com/pages/platform/functions/plugins/mailchannels/#dkim-support-for-mailchannels-api for more information 'dkim_enabled' => env('HTTP_MAIL_DKIM_ENABLED', false), //Whether to enable DKIM in the database 'dkim_domain' => env('HTTP_MAIL_DKIM_DOMAIN'), //The domain you are sending the email from. 'dkim_selector' => env('HTTP_MAIL_DKIM_SELECTOR'), //Specifies where to find the associated public key in your DNS records 'dkim_private_key' => env('HTTP_MAIL_DKIM_PRIVATE_KEY'), //The base-64 encoded private key. ], ],
现在,您可以在.env
文件中将默认邮件设置为http
。
MAIL_MAILER=http
Cloudflare Mailchannel集成
⚠️ Mailchannels现在强制执行域名锁定™:请根据他们的帮助中心文章创建DNS记录!
此包是为了与Cloudflare Worker Mailchannels合作伙伴关系一起使用而制作的。要使用此包,请部署一个包含此代码片段的worker:https://gist.github.com/skyracer2012/54e85953162f24ac8f8e0a0fa747f1e3
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。
Laravel包模板
此包是使用Laravel包模板生成的。