Fix outbound port 25 relay warning (prefer ipv4)

This commit is contained in:
Girish Ramakrishnan
2025-11-20 16:03:13 +01:00
parent fb2ce06621
commit 7f9f3f683b

View File

@@ -241,12 +241,10 @@ async function checkSmtpRelay(relay) {
if (relay.provider === 'noop') return { status: 'skipped', message: 'Outbound disabled' };
if (relay.provider === 'cloudron-smtp') {
const results = await Promise.allSettled([ checkOutboundPort25(4), checkOutboundPort25(6) ]);
if (results[0].status === 'fulfilled' && results[1].status === 'fulfilled') return { status: 'passed', message: 'Port 25 (outbound) is unblocked' };
const messages = [];
if (results[0].status === 'rejected') messages.push(results[0].reason.message);
if (results[1].status === 'rejected') messages.push(results[1].reason.message);
messages.push('Check if port 25 (outbound) is blocked.');
return { status: 'failed', message: messages.join('. ') };
if (results[0].status === 'fulfilled' && results[1].status === 'fulfilled') return { status: 'passed', message: 'Port 25 outbound is unblocked' };
if (results[0].status === 'fulfilled') return { status: 'passed', message: 'IPv4 port 25 outbound is unblocked. IPv6 port 25 outbound is blocked and delivery to IPv6 only servers will fail,' }; // ipv6 only servers are not really common
if (results[1].status === 'fulfilled') return { status: 'failed', message: `IPv4 port 25 outbound is blocked: ${results[0].reason.message}.` }; // only IPv6 worked
return { status: 'failed', message: `Port 25 outbound is blocked. ${results[0].reason.message}` }; // both failed
}
const options = {