diff --git a/src/cloudron.js b/src/cloudron.js index 7ca11c1c7..4be350643 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -276,6 +276,7 @@ function checkMailStatus(callback) { if (error || erroredDomainObjects.length === 0) return callback(error); const erroredDomains = erroredDomainObjects.map((d) => d.domain); + debug(`checkMailStatus: ${erroredDomains.join(',')} failed status checks`); if (erroredDomains.length) notifications.mailStatusWarning(`Email status check of one or more domains failed - ${erroredDomains.join(',')}`); callback(); diff --git a/src/mail.js b/src/mail.js index e7c062f96..bea00f51e 100644 --- a/src/mail.js +++ b/src/mail.js @@ -473,10 +473,13 @@ function getStatus(domain, callback) { getDomain(domain, function (error, result) { if (error) return callback(error); - var checks = [ - recordResult('dns.mx', checkMx.bind(null, domain, mailFqdn)), - recordResult('dns.dmarc', checkDmarc.bind(null, domain)) - ]; + let checks = []; + if (result.enabled) { + checks.push( + recordResult('dns.mx', checkMx.bind(null, domain, mailFqdn)), + recordResult('dns.dmarc', checkDmarc.bind(null, domain)) + ); + } if (result.relay.provider === 'cloudron-smtp') { // these tests currently only make sense when using Cloudron's SMTP server at this point diff --git a/src/notifications.js b/src/notifications.js index 5aee2b677..9ead6140b 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -286,7 +286,7 @@ function mailStatusWarning(message) { assert.strictEqual(typeof message, 'string'); actionForAllAdmins([], function (admin, callback) { - upsert(admin.id, null, 'Mail Status', message, '/#/mail', callback); + upsert(admin.id, null, 'Mail Status', message, '/#/email', callback); }, function (error) { if (error) console.error(error); });