NOTE: This guide has been obsoleted for BlueOnyx 5210R and 5211R with this feature addition:
http://mail.blueonyx.it/pipermail/blueonyx/2023-January/062970.html
This guide is still effective for BlueOnyx 5209R (BlueOnyx on CentOS 7).
Step 1: Make new opendkim key directory for the domain
mkdir /etc/opendkim/keys/DOMAIN.TLD
be sure to substitute the actual domain for DOMAIN.TLD throughout this how-to.
Step 2: Generate the keypair for the domain:
opendkim-genkey -D /etc/opendkim/keys/DOMAIN.TLD -d DOMAIN.TLD -s default
Step 3: Modify /etc/opendkim/KeyTable
default._domainkey.DOMAIN.TLD DOMAIN.TLD:default:/etc/opendkim/keys/DOMAIN.TLD/default.private
Step 4: Add the following to /etc/opendkim/SigningTable
*@DOMAIN.TLD default._domainkey.DOMAIN.TLD
Step 5: Ensure ownership of /etc/opendkim is fully owned by opendkim
chown -R opendkim:opendkim /etc/opendkim
Step 6: Restart the opendkim service
systemctl restart opendkim
Step 7: Restart Sendmail
systemctl restart sendmail
Step 8: Add the public key to a DNS txt record for the domain
Use the text from the file created at /etc/opendkim/keys/DOMAIN.TLD/default.txt and correct for formatting so that it looks like this:
v=DKIM1; k=rsa; p=rh+bZZghwpBE9iDBYKHTo27EOxwZwgPvsj31CbeR/Mgc/gFAqnqT2+LgahYA4NjXj5Huv6XbV51YzFzI5MVoizt9MUbaMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjQouvJSFdy6gkT9Lmiivaeb3CX7bQcsjfAhdV0sZP17Jzupc9MvvGJSdyHEmABMl60Gk/WHL+leJbbQIDAQAB
In other words, remove extraneous spacing and quote marks.
The TXT record should look something like this in the BlueOnyx DNS:
Host Name: default._domainkey
Domain Name: DOMAIN.TLD
Text Record: v=DKIM1; k=rsa; p=rh+bZZghwpBE9iDBYKHTo27EOxw...
Save the record, then save again for the domain.
Step 9: Test the DNS record using https://www.dmarcanalyzer.com/dkim/dkim-checker/
use "default" as the selector and the new domain.