diff --git a/src/js/client.js b/src/js/client.js index 370e17637..2fd491e04 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -1315,6 +1315,13 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N }).error(defaultErrorHandler(callback)); }; + Client.prototype.setMailFromValidation = function (domain, enabled, callback) { + post('/api/v1/mail/' + domain + '/mail_from_validation', { enabled: enabled }).success(function(data, status) { + if (status !== 202) return callback(new ClientError(status, data)); + callback(null); + }).error(defaultErrorHandler(callback)); + }; + // Mailboxes Client.prototype.getMailboxes = function (domain, callback) { get('/api/v1/mail/' + domain + '/mailboxes').success(function(data, status) { diff --git a/src/views/email.html b/src/views/email.html index 66dda809c..d33196925 100644 --- a/src/views/email.html +++ b/src/views/email.html @@ -474,7 +474,22 @@ - + +
+

Enable Masquerading

+ +
+
+ Masquerading allows users and apps to send emails with an arbitrary username in the FROM address +
+
+ +
+
+
+
+ +
diff --git a/src/views/email.js b/src/views/email.js index f4449412b..bbdc8ef87 100644 --- a/src/views/email.js +++ b/src/views/email.js @@ -181,6 +181,13 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio } }; + $scope.toggleMailFromValidation = function () { + Client.setMailFromValidation($scope.selectedDomain.domain, !$scope.selectedDomain.mailConfig.mailFromValidation, function (error) { + if (error) return console.error(error); + $scope.refreshDomain(); + }); + }; + $scope.toggleEmailEnabled = function () { if ($scope.selectedDomain.mailConfig.enabled) { $('#disableEmailModal').modal('show');