Sign all outgoing emails in Laravel 9.x, 10.x, 11.x and 12.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
IMPORTANT! The package version that supports Laravel 12.x starts from 1.5
- Get the latest version of the package via Composer:
composer require hostbrook/laravel-dkim
- In
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-----',
- No matter where you keep the RSA Private Key, in
/.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! - It is not recommended to keep private key directly in the
/config/mail.php
file for security reasons especially if your project is not in the private repository. - If you would like to keep RSA Private key in a text file, the path to the text file must be relative to the project base path (like in the example above).
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: