Sign all outgoing emails in Laravel 9.x, 10.x and 11.x with a DKIM signature.
IMPORTANT! The package version that supports Laravel 10.x starts from 1.2.5
IMPORTANT! The package version that supports Laravel 11.x starts from 1.4
composer require hostbrook/laravel-dkim
config/app.php
comment the line with the original mail service provider (if exists) and add the line with the new mail service provider:// Illuminate\Mail\MailServiceProvider::class,
HostBrook\LaravelDkim\DkimMailServiceProvider::class,
Add your DKIM private key settings in /.env
or in /config/mail.php
. The priority of DKIM settings is from /.env
file.
3.1. The syntax, if you want to add DKIM private key settings in /.env
file:
DKIM_SELECTOR="selector1"
DKIM_DOMAIN="domain.name"
DKIM_PASSPHRASE=""
DKIM_PRIVATE_KEY="/storage/app/dkim/private_key.txt"
As an option, you can add the full RSA Private Key to the .env
file, for example:
DKIM_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAq1SCAScet736Rr/f36OYUo8cRziq4v2uq6kNs5wzEaaqUAoh
...
ENwDlqtgpM9D7YznrL6W9NH7fdSwmz2Ux0frY6weuBx/VSeJn1fb
-----END RSA PRIVATE KEY-----"
3.2. The syntax, if you want to add DKIM private key settings in /config/mail.php
file:
'dkim_selector' => 'selector1',
'dkim_domain' => 'domain.name',
'dkim_passphrase' => '', // leave empty if you didn’t protect the private key
'dkim_private_key' => '/storage/app/dkim/private_key.txt',
As an option, you can add the full RSA Private Key to the /config/mail.php
file, for example:
'dkim_private_key' => '-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAq1SCAScet736Rr/f36OYUo8cRziq4v2uq6kNs5wzEaaqUAoh
...
ENwDlqtgpM9D7YznrL6W9NH7fdSwmz2Ux0frY6weuBx/VSeJn1fb
-----END RSA PRIVATE KEY-----',
/.env
file or in /config/mail.php
file or in a text file, everything between two instances '-----BEGIN RSA PRIVATE KEY-----'
and '-----END RSA PRIVATE KEY-----'
must be right up to the start of the line!/config/mail.php
file for security reasons especially if your project is not in the private repository.Whenever there is a new release, then from the command line in your project root:
composer update
Running the following command will remove the package from vendor folder:
composer remove hostbrook/laravel-dkim
Read more how to: