hostbrook / laravel-dkim
Laravel 9.x, 10.x, 11.x and 12.x package to sign emails with DKIM
Installs: 6 855
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 1
Type:package
pkg:composer/hostbrook/laravel-dkim
Requires
- laravel/framework: ^9.0 || ^10.0 || ^11.0 || ^12.0
- symfony/mailer: ^5.2 || ^6.0 || ^7.0
README
Laravel 9.x, 10.x, 11.x and 12.x DKIM signature
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
Installation and setup
- Get the latest version of the package via Composer:
composer require hostbrook/laravel-dkim
- In
config/app.phpcomment 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
/.envor in/config/mail.php. The priority of DKIM settings is from/.envfile.3.1. The syntax, if you want to add DKIM private key settings in
/.envfile: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
.envfile, 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.phpfile:'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.phpfile, for example:'dkim_private_key' => '-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAq1SCAScet736Rr/f36OYUo8cRziq4v2uq6kNs5wzEaaqUAoh ... ENwDlqtgpM9D7YznrL6W9NH7fdSwmz2Ux0frY6weuBx/VSeJn1fb -----END RSA PRIVATE KEY-----',
Notes and recommendations
- No matter where you keep the RSA Private Key, in
/.envfile or in/config/mail.phpfile 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.phpfile 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).
Upgrading
Whenever there is a new release, then from the command line in your project root:
composer update
Deleting package
Running the following command will remove the package from vendor folder:
composer remove hostbrook/laravel-dkim
DKIM info
Read more how to:
- Generate DKIM Public and Private Keys
- Check if DKIM record is shown and has a correct format
- Test the Spammyness of your Emails