diff --git a/src/views/email.html b/src/views/email.html index 80d8f1e13..7aa3deca9 100644 --- a/src/views/email.html +++ b/src/views/email.html @@ -544,7 +544,7 @@
- + diff --git a/src/views/email.js b/src/views/email.js index 05e20f300..8af57fcd8 100644 --- a/src/views/email.js +++ b/src/views/email.js @@ -84,6 +84,7 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio refresh: function () { var allMailboxes = []; async.eachSeries($scope.incomingDomains, function (domain, iteratorDone) { + Client.listMailboxes(domain.domain, '', 1, 1000, function (error, result) { if (error) return console.error(error); @@ -95,10 +96,13 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio }, function () { $scope.catchall.availableMailboxes = allMailboxes; + console.log($scope.domain.mailConfig.catchAll); + $scope.catchall.mailboxes = $scope.domain.mailConfig.catchAll.map(function (address) { - const parts = address.split('@'); - return $scope.catchall.availableMailboxes.find(function (m) { return m.name === parts[0] && m.domain === parts[1]; }); + return allMailboxes.find(function (m) { return m.display === address; }); }).filter(function (m) { return !!m; }); // remove not found addresses + + console.log($scope.catchall.mailboxes); }); } }; @@ -1021,7 +1025,6 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio $scope.domain = result.filter(function (d) { return d.domain === domainName; })[0]; $scope.adminDomain = result.filter(function (d) { return d.domain === $scope.config.adminDomain; })[0]; - $scope.refreshDomain(); async.eachSeries(result, function (domain, iteratorDone) { Client.getMailConfigForDomain(domain.domain, function (error, mailConfig) { @@ -1033,6 +1036,8 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio }, function iteratorDone(error) { if (error) return console.error(error); + $scope.refreshDomain(); // this calls catchall.refresh() which in turn relies on incomingDomains + $scope.setView($routeParams.view || 'mailboxes', true /* always set */); $scope.ready = true; });