Table of Contents

dkim plugin

—- plugin —-

description: Adds DKIM header to emails
author : Duncan Cameron
type :
lastupdate : 2023/10/16
compatible :
depends :
conflicts :
similar :
tags :

sourcerepo : https://github.com/bramley/phplist-plugin-dkim/

Purpose

This plugin adds a DKIM header to emails sent by phplist. It simply passes-on the settings fields to phpmailer, which does the actual generation of the DKIM header. If your mail server already adds a DKIM header to outgoing mail then you probably do not need to use this plugin.

The plugin can also be used to generate a DKIM header for the domain of the From address. This can help with DMARC verification as DMARC will fail when the From address is a different domain to that used for DKIM and SPF. Usually the DKIM header is for the domain on which phplist is installed.

You need to create a DKIM private/public key pair, then create a DNS TXT record holding the public key. You can usually do this using the control panel of your web server. Otherwise you can use this DKIM record generator https://easydmarc.com/tools/dkim-record-generator

Installation

Install on the Plugins page (menu Config > Manage Plugins) using the package URL

https://github.com/bramley/phplist-plugin-dkim/archive/master.zip

Configuration

The plugin adds a section to the Settings page where you can enter

Generating DKIM header for the domain

You must enter the domain, the selector and either the private key or the path to a file containing the private key. The private key field takes precedence over the private key path.

For example, if the name of your DKIM record is default._domainkey.mydomain.com then

-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDY0g55Ks4QWc1JyiwdMDIKV9NpQzk5aDhIpD5boaKu80C3WrIy
...
MLumvW5nNkpiQbvwx3SnlKM3RCLU1rUARePSnSnsYY56
-----END RSA PRIVATE KEY-----

Generating DKIM header for the From address

The section on the Settings page has a text area where you can enter the domain, the selector and the private key for one more domains that you will be using as the From address for campaigns. Each set of fields must be separated by a blank line.

othersite1.com
phplist
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDY0g55Ks4QWc1JyiwdMDIKV9NpQzk5aDhIpD5boaKu80C3WrIy
...
MLumvW5nNkpiQbvwx3SnlKM3RCLU1rUARePSnSnsYY56
-----END RSA PRIVATE KEY-----

othersite2.com
phplist
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDY0g55Ks4QWc1JyiwdMDIKV9NpQzk5aDhIpD5boaKu80C3WrIy
...
MLumvW5nNkpiQbvwx3SnlKM3RCLU1rUARePSnSnsYY56
-----END RSA PRIVATE KEY-----

The plugin will use the domain of the From address to choose the selector and private key for generating the DKIM header. If the From domain is not found then a DKIM header for the domain will be generated.