diff --git a/src/views/email.js b/src/views/email.js
index 5bd3acad5..5c1945abd 100644
--- a/src/views/email.js
+++ b/src/views/email.js
@@ -394,7 +394,7 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
Client.getMailUsage($scope.domain.domain, function (error, usage) {
if (error) return callback(error);
- $scope.mailboxes.mailboxes.forEach(function (m) { m.usage = usage[m.name].size || 0; });
+ $scope.mailboxes.mailboxes.forEach(function (m) { m.usage = usage[m.name + '@' + m.domain].size || 0; });
callback();
});
diff --git a/src/views/emails.html b/src/views/emails.html
index f5ab982fc..a981978d9 100644
--- a/src/views/emails.html
+++ b/src/views/emails.html
@@ -55,7 +55,8 @@
|
- Domain |
+ Domain |
+ Config |
Actions |
@@ -68,6 +69,15 @@
{{ domain.domain }}
|
+
+
+
+ {{ domain.mailboxCount }} Mailbox(es) / Usage: {{ domain.usage | prettyDiskSize }}
+
+ Outbound only
+ Disabled
+
+ |
diff --git a/src/views/emails.js b/src/views/emails.js
index b01f94819..8ade2275a 100644
--- a/src/views/emails.js
+++ b/src/views/emails.js
@@ -102,6 +102,28 @@ angular.module('Application').controller('EmailsController', ['$scope', '$locati
domain.status = result;
domain.statusOk = result.rbl.status && result.relay.status && result.dns.dkim.status && result.dns.dmarc.status && result.dns.mx.status && result.dns.ptr.status && result.dns.spf.status;
});
+
+ Client.getMailConfigForDomain(domain.domain, function (error, mailConfig) {
+ if (error) return console.error('Failed to fetch mail config for domain', domain.domain, error);
+
+ domain.inbound = mailConfig.enabled;
+ domain.outbound = mailConfig.relay.provider !== 'noop';
+
+ // do this even if no outbound since people forget to remove mailboxes
+ Client.getMailboxes(domain.domain, function (error, mailboxes) {
+ if (error) return console.error('Failed to fetch mailboxes for domain', domain.domain, error);
+
+ domain.mailboxCount = mailboxes.length;
+
+ Client.getMailUsage(domain.domain, function (error, usage) {
+ if (error) return console.error('Failed to fetch usage for domain', domain.domain, error);
+
+ domain.usage = 0;
+ Object.keys(usage).forEach(function (m) { domain.usage += usage[m].size; });
+ });
+ });
+ });
+
});
}
|