simonschaufi / laravel-dkim
Laravel 包,用于使用 DKIM 签名外发邮件。
v3.4.1
2024-05-16 12:34 UTC
Requires
- illuminate/config: ^9.0 || ^10.0 || ^11.0
- illuminate/contracts: ^9.0 || ^10.0 || ^11.0
- illuminate/mail: ^9.0 || ^10.0 || ^11.0
README
一个 Laravel 包,允许使用 DKIM 签名电子邮件。
安装
composer require simonschaufi/laravel-dkim
在 Laravel 版本 11 之前,在 config/app.php
中的 providers 数组中有一个条目是 Illuminate\Mail\MailServiceProvider::class
。取消注释此行,并添加自己的服务提供者条目(在“包服务提供者”部分)
/* * Package Service Providers... */ SimonSchaufi\LaravelDKIM\DKIMMailServiceProvider::class,
在 Laravel 11 中,将以下内容添加到您的 bootstrap/app.php
->withProviders([ \SimonSchaufi\LaravelDKIM\DKIMMailServiceProvider::class, ])
DKIMMailServiceProvider 扩展了 MailServiceProvider 并覆盖了一个我们需要用于自定义行为的方法。
之后,您应该使用以下命令发布配置文件
php artisan vendor:publish --provider="SimonSchaufi\LaravelDKIM\DKIMMailServiceProvider" --tag dkim-config
接下来,我们需要为签名和验证电子邮件创建一对私有和公钥。
有许多工具可用于生成必要的密钥,但这里有一个易于使用的工具
https://tools.socketlabs.com/dkim/generator
输入您的域名,在“选择器”字段中输入 default
,或在 Laravel 配置文件中相应地调整“选择器”。其余字段保持不变。
在您生成密钥并将公钥添加到 DNS 记录后,这里有一个工具可以验证它
https://www.mail-tester.com/spf-dkim-check
最后,将私有密钥存储在例如 storage/app/dkim/private_key.txt
中,并在 .env
中配置您的设置
DKIM_DOMAIN=example.com
如果您将私有密钥放置在其他位置,您需要设置环境变量的 完整绝对路径 或调整配置文件中的存储路径。
如果您觉得这个包很有帮助,请考虑捐款! 链接位于此文件的顶部。