From 3c3370b929a35db1bfb25e559a58d3a55e2ac89f Mon Sep 17 00:00:00 2001 From: Johannes Zellner Date: Thu, 27 Feb 2020 13:27:45 +0100 Subject: [PATCH] Check mail state depending on relay used or not --- src/views/emails.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/views/emails.js b/src/views/emails.js index 4b9a328e1..bad660739 100644 --- a/src/views/emails.js +++ b/src/views/emails.js @@ -100,7 +100,16 @@ angular.module('Application').controller('EmailsController', ['$scope', '$locati if (error) return console.error('Failed to fetch mail status for domain', domain.domain, error); 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; + + // those states always exist + domain.statusOk = result.relay.status && result.dns.mx.status; + + // those states only exist if no relay is used + if (typeof result.dns.spf !== 'undefined') domain.statusOk = domain.statusOk && result.dns.spf.status; + if (typeof result.dns.dkim !== 'undefined') domain.statusOk = domain.statusOk && result.dns.dkim.status; + if (typeof result.dns.dmarc !== 'undefined') domain.statusOk = domain.statusOk && result.dns.dmarc.status; + if (typeof result.dns.ptr !== 'undefined') domain.statusOk = domain.statusOk && result.dns.ptr.status; + if (typeof result.rbl.status === 'boolean') domain.statusOk = domain.statusOk && result.rbl.status; }); Client.getMailConfigForDomain(domain.domain, function (error, mailConfig) {