diff --git a/CHANGES b/CHANGES index 50fe11245..1dc04f48e 100644 --- a/CHANGES +++ b/CHANGES @@ -2074,4 +2074,5 @@ * SFTP: fix issue where parallel rebuilds would cause an error * backups: make part size configurable * mail: set max email size +* mail: allow mail server location to be set diff --git a/src/mail.js b/src/mail.js index 84cfb83e8..b773b8760 100644 --- a/src/mail.js +++ b/src/mail.js @@ -952,7 +952,7 @@ function setLocation(subdomain, domain, auditSource, callback) { settings.setMailLocation(domain, fqdn, function (error) { if (error) return callback(error); - tasks.add(tasks.TASK_CHANGE_MAIL_FQDN, [ auditSource ], function (error, taskId) { + tasks.add(tasks.TASK_CHANGE_MAIL_LOCATION, [ auditSource ], function (error, taskId) { if (error) return callback(error); tasks.startTask(taskId, {}, NOOP_CALLBACK); diff --git a/src/routes/mailserver.js b/src/routes/mailserver.js index d32c4b931..02f6b3b85 100644 --- a/src/routes/mailserver.js +++ b/src/routes/mailserver.js @@ -59,7 +59,7 @@ function setLocation(req, res, next) { assert.strictEqual(typeof req.body, 'object'); if (typeof req.body.domain !== 'string') return next(new HttpError(400, 'domain must be a string')); - if (typeof req.body.subdomain !== 'string') return next(new HttpError(400, 'location must be a string')); + if (typeof req.body.subdomain !== 'string') return next(new HttpError(400, 'subdomain must be a string')); mail.setLocation(req.body.subdomain, req.body.domain, auditSource.fromRequest(req), function (error, taskId) { if (error) return next(BoxError.toHttpError(error)); diff --git a/src/server.js b/src/server.js index 186d59ffe..1196925a1 100644 --- a/src/server.js +++ b/src/server.js @@ -247,13 +247,13 @@ function initializeExpressSync() { router.post('/api/v1/settings/:setting', json, token, authorizeAdmin, routes.settings.set); // email routes - router.get ('/api/v1/mailserver/eventlog', token, authorizeOwner, routes.mailserver.proxy); - router.get ('/api/v1/mailserver/usage', token, authorizeAdmin, routes.mailserver.proxy); - router.post('/api/v1/mailserver/clear_eventlog', token, authorizeOwner, routes.mailserver.proxy); - router.get ('/api/v1/mailserver/location', token, authorizeAdmin, routes.mailserver.getLocation); - router.post('/api/v1/mailserver/location', token, authorizeAdmin, routes.mailserver.setLocation); - router.get ('/api/v1/mailserver/max_email_size', token, authorizeAdmin, routes.mailserver.proxy); - router.post('/api/v1/mailserver/max_email_size', token, authorizeAdmin, routes.mailserver.proxy); + router.get ('/api/v1/mailserver/eventlog', token, authorizeOwner, routes.mailserver.proxy); + router.get ('/api/v1/mailserver/usage', token, authorizeAdmin, routes.mailserver.proxy); + router.post('/api/v1/mailserver/clear_eventlog', token, authorizeOwner, routes.mailserver.proxy); + router.get ('/api/v1/mailserver/location', token, authorizeAdmin, routes.mailserver.getLocation); + router.post('/api/v1/mailserver/location', json, token, authorizeAdmin, routes.mailserver.setLocation); + router.get ('/api/v1/mailserver/max_email_size', token, authorizeAdmin, routes.mailserver.proxy); + router.post('/api/v1/mailserver/max_email_size', token, authorizeAdmin, routes.mailserver.proxy); router.get ('/api/v1/mail/:domain', token, authorizeAdmin, routes.mail.getDomain); router.get ('/api/v1/mail/:domain/status', token, authorizeAdmin, routes.mail.getStatus);