fix(mail): connect to Microsoft 365 over IPv4 and check network paths
The admin email test failed with "connect ENETUNREACH 2603:…:587". nodemailer resolves smtp.office365.com to IPv4 and IPv6 addresses and picks one at random; pods with an IPv6 interface but no IPv6 route to the internet then fail depending on the draw, and the error shown is always that of the last (IPv6) fallback. - The shop now resolves smtp.office365.com via IPv4 only and connects to that address; the TLS certificate is still verified against smtp.office365.com (tls.servername), STARTTLS stays mandatory. - A transport is built per send so a rotating Microsoft address never sticks. - The email test first probes smtp.office365.com:587 and login.microsoftonline.com:443 over IPv4 and reports each result, so a blocked port (hoster firewall, NetworkPolicy) is distinguishable from a configuration error. Verified against the real Microsoft endpoints: both probes succeed, the connection is made via IPv4, TLS validates and the auth stage is reached. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
2943021fe9
commit
b5311fae83
2 files changed
+77
-30
No files matched your search
@@ -33,7 +33,7 @@ const HINTS: Record<SmtpFailureCause, string> = {
|
||||
"send-as-denied":
|
||||
"Die App darf nicht mit der Absenderadresse (SMTP_FROM) senden. SMTP_FROM muss die Adresse des Postfachs aus SMTP_USER sein, oder das Postfach braucht die Berechtigung „Senden als“ für diese Adresse. Für einen Alias: Set-OrganizationConfig -SendFromAliasEnabled $true.",
|
||||
network:
|
||||
"smtp.office365.com ist nicht erreichbar. Prüfe, ob der Cluster ausgehende Verbindungen auf Port 587 und zu login.microsoftonline.com erlaubt (Firewall, NetworkPolicy).",
|
||||
"smtp.office365.com ist nicht erreichbar. Die Netzwerkprüfung oben zeigt, welcher Weg blockiert ist: Der Cluster muss ausgehend per IPv4 smtp.office365.com auf Port 587 und login.microsoftonline.com auf Port 443 erreichen (Firewall des Hosters, NetworkPolicy). Manche Hoster sperren Mail-Ports für neue Server — dann dort die Freigabe von Port 587 beantragen.",
|
||||
tls: "Die verschlüsselte Verbindung zu smtp.office365.com ist fehlgeschlagen (STARTTLS auf Port 587). Prüfe Proxy oder TLS-Inspektion auf dem Netzweg.",
|
||||
unknown: "Unbekannter Fehler. Die Originalmeldung des Mailservers steht unten.",
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user