Laravel DKIM

A Laravel package, that allows signing emails with DKIM.


composer require simonschaufi/laravel-dkim

After that, you should publish the config file with:

php artisan vendor:publish --provider="SimonSchaufi\LaravelDKIM\DKIMMailServiceProvider"

The providers array in config/app.php has an entry with Illuminate\Mail\MailServiceProvider::class. Comment this line out and add your own service provider entry (in the "Package Service Providers" section):

 * Package Service Providers...

The DKIMMailServiceProvider extends the MailServiceProvider and overwrites a method that we need for our own behavior.

Next we need to create a private and public key pair for signing and verifying the email.

There are many tools available to generate the necessary keys but here is one which is easy to use:

Enter your domain and in the "selector" field enter default.

After you have generated the keys and added the public key to your dns record, here is a tool to validate it:

Finally, store the private key for example in storage/app/dkim/private_key.txt and configure your settings in .env:

If you placed the private key somewhere else, you need to set the full absolute path in the environment variable or adjust the storage path in the config file.

I can't live without caffeine

Each cup of coffee helps me to be more productive and 
motivate me to maintain my open source projects.
Thank you for supporting me!