diff --git a/lib/mailer.js b/lib/mailer.js index 28a5c32c..30ff5aef 100644 --- a/lib/mailer.js +++ b/lib/mailer.js @@ -83,7 +83,7 @@ function getTemplate(template, callback) { } function createMailer(callback) { - settings.list(['smtpHostname', 'smtpPort', 'smtpEncryption', 'smtpUser', 'smtpPass', 'smtpLog', 'smtpDisableAuth', 'smtpMaxConnections', 'smtpMaxMessages', 'smtpSelfSigned'], (err, configItems) => { + settings.list(['smtpHostname', 'smtpPort', 'smtpEncryption', 'smtpUser', 'smtpPass', 'smtpLog', 'smtpDisableAuth', 'smtpMaxConnections', 'smtpMaxMessages', 'smtpSelfSigned', 'pgpPrivateKey', 'pgpPassphrase'], (err, configItems) => { if (err) { return callback(err); } @@ -109,7 +109,10 @@ function createMailer(callback) { rejectUnauthorized: !configItems.smtpSelfSigned } }); - module.exports.transport.use('stream', openpgpEncrypt()); + module.exports.transport.use('stream', openpgpEncrypt({ + signingKey: configItems.pgpPrivateKey, + passphrase: configItems.pgpPassphrase + })); return callback(null, module.exports.transport); }); diff --git a/package.json b/package.json index 536cb510..e2a90037 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "multer": "^1.1.0", "mysql": "^2.10.2", "nodemailer": "^2.3.2", - "nodemailer-openpgp": "^1.0.1", + "nodemailer-openpgp": "^1.0.2", "npmlog": "^2.0.3", "openpgp": "^2.2.1", "passport": "^0.3.2", diff --git a/routes/settings.js b/routes/settings.js index d9a581bd..faf5c6dd 100644 --- a/routes/settings.js +++ b/routes/settings.js @@ -11,7 +11,7 @@ let url = require('url'); let settings = require('../lib/models/settings'); -let allowedKeys = ['service_url', 'smtp_hostname', 'smtp_port', 'smtp_encryption', 'smtp_disable_auth', 'smtp_user', 'smtp_pass', 'admin_email', 'smtp_log', 'smtp_max_connections', 'smtp_max_messages', 'smtp_self_signed', 'default_from', 'default_address', 'default_subject', 'default_homepage', 'default_postaddress', 'default_sender', 'verp_hostname', 'verp_use', 'disable_wysiwyg']; +let allowedKeys = ['service_url', 'smtp_hostname', 'smtp_port', 'smtp_encryption', 'smtp_disable_auth', 'smtp_user', 'smtp_pass', 'admin_email', 'smtp_log', 'smtp_max_connections', 'smtp_max_messages', 'smtp_self_signed', 'default_from', 'default_address', 'default_subject', 'default_homepage', 'default_postaddress', 'default_sender', 'verp_hostname', 'verp_use', 'disable_wysiwyg', 'pgp_private_key', 'pgp_passphrase']; router.all('/*', (req, res, next) => { if (!req.user) { diff --git a/views/settings.hbs b/views/settings.hbs index 31341890..7fd02c40 100644 --- a/views/settings.hbs +++ b/views/settings.hbs @@ -251,6 +251,37 @@ {{/if}} +
+