Updated installation script

This commit is contained in:
Andris Reinman 2016-09-08 15:31:38 +03:00
parent 63f20a199a
commit d651cca039
5 changed files with 104 additions and 3 deletions

View file

@ -13,7 +13,7 @@ let upload = multer();
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', 'pgp_private_key', 'pgp_passphrase', 'ua_code', 'shoutout', 'disable_confirmations', 'smtp_throttling'];
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', 'ua_code', 'shoutout', 'disable_confirmations', 'smtp_throttling', 'dkim_api_key', 'dkim_private_key', 'dkim_selector', 'dkim_domain'];
router.all('/*', (req, res, next) => {
if (!req.user) {

View file

@ -4,6 +4,7 @@ let express = require('express');
let router = new express.Router();
let request = require('request');
let campaigns = require('../lib/models/campaigns');
let settings = require('../lib/models/settings');
let log = require('npmlog');
let multer = require('multer');
let uploads = multer();
@ -286,4 +287,44 @@ router.post('/zone-mta', (req, res, next) => {
});
});
router.post('/zone-mta/sender-config', (req, res) => {
if (!req.query.api_token) {
return res.json({
error: 'api_token value not set'
});
}
settings.list(['dkim_api_key', 'dkim_private_key', 'dkim_selector', 'dkim_domain'], (err, configItems) => {
if (err) {
return res.json({
error: err.message
});
}
if (configItems.dkimApiKey !== req.query.api_token) {
return res.json({
error: 'invalid api_token value'
});
}
configItems.dkimSelector = (configItems.dkimSelector || '').trim();
configItems.dkimPrivateKey = (configItems.dkimPrivateKey || '').trim();
if (!configItems.dkimSelector || !configItems.dkimPrivateKey) {
// empty response
return res.json({});
}
let from = (req.body.from || '').trim();
let domain = from.split('@').pop().toLowerCase().trim();
res.json({
keys: {
domainName: configItems.dkimDomain || domain,
keySelector: configItems.dkimSelector,
privateKey: configItems.dkimPrivateKey
}
});
});
});
module.exports = router;