simonschaufi/laravel-dkim

Laravel 包,用于使用 DKIM 签名外发邮件。

v3.4.1 2024-05-16 12:34 UTC

This package is auto-updated.

Last update: 2024-09-16 14:02:02 UTC


README

Donate GitHub Sponsors Buy me a coffee GitHub Packagist Downloads Laravel 9/10/11

一个 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

如果您将私有密钥放置在其他位置,您需要设置环境变量的 完整绝对路径 或调整配置文件中的存储路径。

如果您觉得这个包很有帮助,请考虑捐款! 链接位于此文件的顶部。