hostbrook / laravel-dkim

Sign all outgoing emails in Laravel 9.x with a DKIM signature.

Home Page:https://github.com/hostbrook/laravel-dkim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub release (latest by date) GitHub code size in bytes License

Laravel 9.x and 10.x DKIM signature

Sign all outgoing emails in Laravel 9.x and 10.x with a DKIM signature.

IMPORTANT! The package version that supports Laravel 10.x starts from 1.2.5

Installation and setup

  1. Get the latest version of the package via Composer:
composer require hostbrook/laravel-dkim
  1. 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,
  1. 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-----',
    

Notes and recommendations

  • 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).

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:

References

About

Sign all outgoing emails in Laravel 9.x with a DKIM signature.

https://github.com/hostbrook/laravel-dkim

License:MIT License


Languages

Language:PHP 100.0%