Skip to content

Instantly share code, notes, and snippets.

@rquast
Forked from andris9/config.json
Created June 20, 2017 13:20
Show Gist options
  • Save rquast/48a6a277ba511a320d5e4fd1795b6d47 to your computer and use it in GitHub Desktop.
Save rquast/48a6a277ba511a320d5e4fd1795b6d47 to your computer and use it in GitHub Desktop.
ZoneMTA DKIM plugin example
{
"plugins": {
"dkim": {
"enabled": "sender",
"domain": "example.com",
"selector": "test",
"path": "/path/to/private/key.pem"
}
}
}
'use strict';
// save as plugins/dkim.js
const fs = require('fs');
module.exports.title = 'DKIM signer';
module.exports.init = function (app, done) {
let privKey;
try {
privKey = fs.readFileSync(app.config.path, 'ascii').trim();
} catch (E) {
app.logger.error('DKIM', 'Failed loading key: %s', E.message);
return done;
}
app.addHook('sender:connect', (delivery, options, next) => {
if (!delivery.dkim.keys) {
delivery.dkim.keys = [];
}
delivery.dkim.keys.push({
domainName: app.config.domain,
keySelector: app.config.selector,
privateKey: privKey
});
next();
});
done();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment