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;
});