Replies: 5 comments 1 reply
-
|
Yikes, I’ll hold off on updating until this gets addressed. Thank you for the info! |
Beta Was this translation helpful? Give feedback.
-
|
I've just tried to send email from a |
Beta Was this translation helpful? Give feedback.
-
|
In order to cast doubt on my TLS error theories, I tried: This isn't at all in my wheelhouse, but, that said, it looks like the openssl app fetched the cert and was able to create a new session to the Stalwart instance. The cert appears to be the new one, just issued a few days ago. If the problem I'm having doesn't have to do with establishing an inbound TLS session on port 25, what would be the next suspect? |
Beta Was this translation helpful? Give feedback.
-
|
I updated and everything appears to be working fine on my end. If you have issues with outlook mail, register for an outlook account and try to troubleshoot. |
Beta Was this translation helpful? Give feedback.
-
|
The problem turned out to be old/invalid TLSA records in my DNS config. After getting a new key (fetched via Stalwart), I did not know that I needed to update them. Deleting them fixed the problem, and adding back new TLSA records (associated w/the new key) did not resurface any problems. Apparently only some senders will refuse to send to a server with an invalid TLSA config while others will ignore the issue. This problem was not related to the 0.13.3 release at all. It would be nice if Stalwart could reinforce (to the admin) the fact that these records need updating whenever what's in DNS doesn't match a new key. A notification of some sort to the admin. It's a foot-gun than many new admins might not have dealt with before. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm using the docker image of the server. Today, after a shutdown of the server, a manual backup of the stalwart dir, pulling stalwart:latest (0.13.3), and a restart, some external senders can't send mail inbound to my server. For example, a message from the Outlook web app (actually live.com in my case) to an address (not an alias) on my Stalwart server looks like this:
2025-09-10T06:32:27Z INFO SMTP EHLO command (smtp.ehlo) listenerId = "smtp", localPort = 25, remoteIp = 40.92.21.53, remotePort = 65473, domain = "NAM12-BN8-obe.outbound.protection.outlook.com"
2025-09-10T06:32:27Z INFO SPF EHLO check passed (smtp.spf-ehlo-pass) listenerId = "smtp", localPort = 25, remoteIp = 40.92.21.53, remotePort = 65473, domain= "NAM12-BN8-obe.outbound.protection.outlook.com", result = SPF check passed (spf.pass), elapsed = 5ms
2025-09-10T06:32:27Z INFO TLS handshake (tls.handshake) listenerId = "smtp", localPort = 25, remoteIp = 40.92.21.53, remotePort = 65473, listenerId = "smtp", version = "TLSv1_3", details = "TLS13_AES_256_GCM_SHA384"
It appears that the MAIL FROM exchange is not even happening. This is occurring with the senders Protonmail, Posteo, Addy.io, and Riseup, so far anyway (those are all I've tested) and the logs always look just like the above. Strangely, mail from Gmail is received normally, as is mail from Yahoo. And mail from those two senders to alias addresses works as well.
My config is pretty nearly the default. I did update my letsencrypt TLS certificate many hours before the server update/restart, and everything seemed to be working normally after the new cert was processed. There's nothing in the logs that indicates TLS errors. At this point the failing senders are still retrying so eventually they'll get tired and I might wake up to a bunch of bounce messages with more clues. I updated the Web server and that seemed to go fine and I haven't noticed any problems with the latest one.
Apart from the inbound delivery problem Stalwart seems to be functioning normally, I can fetch messages with IMAPS as usual and can send mail outbound successfully.
Setting the logs to TRACE and restarting, I see, among many other things:
025-09-10T19:09:33Z INFO Processing ACME certificate (acme.process-cert) id = "letsencrypt", hostname = ["mail.stillwarm.net"], validFrom = 2025-09-09T22:15:59Z, validTo = 2025-12-08T22:15:58Z, due = 2025-11-08T22:15:58Z
The cert also appears in the management UI.
When an inbound port 25 connection from a sender happens, in this case addy.io, I see:
2025-09-10T19:11:47Z TRACE Raw SMTP output sent (smtp.raw-output) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032, size =211, contents = "250-mail.stillwarm.net you had me at EHLO\r\n250-STARTTLS\r\n250-SMTPUTF8\r\n250-SIZE 104857600\r\n250-REQUIRETLS\r\n250-PIPELINING\r\n250-NO-SOLICITING\r\n250-ENHANCEDSTATUSCODES\r\n250-CHUNKING\r\n250-BINARYMIME\r\n250 8BITMIME\r\n"
2025-09-10T19:11:47Z TRACE Raw SMTP input received (smtp.raw-input) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032, size= 10, contents = "STARTTLS\r\n"
2025-09-10T19:11:47Z DEBUG SMTP STARTTLS command (smtp.start-tls) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032
2025-09-10T19:11:47Z TRACE Raw SMTP output sent (smtp.raw-output) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032, size =31, contents = "220 2.0.0 Ready to start TLS.\r\n"
2025-09-10T19:11:47Z INFO TLS handshake (tls.handshake) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032, listenerId = "smtp", version = "TLSv1_3", details = "TLS13_AES_256_GCM_SHA384"
2025-09-10T19:11:47Z TRACE Raw SMTP input received (smtp.raw-input) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032, size= 6, contents = "QUIT\r\n"
2025-09-10T19:11:47Z DEBUG SMTP QUIT command (smtp.quit) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032
2025-09-10T19:11:47Z TRACE Raw SMTP output sent (smtp.raw-output) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032, size =16, contents = "221 2.0.0 Bye.\r\n"
2025-09-10T19:11:47Z DEBUG SMTP connection ended (smtp.connection-end) listenerId = "smtp", localPort = 25, remoteIp = 213.108.105.57, remotePort = 60032, elapsed = 94ms
I did have some bounce messages show up in the mailboxes at the external senders. One, from Protonmail, contains:
Diagnostic-Code: X-Postfix; Server certificate not trusted
Any idea what's happening here and how to fix?
Beta Was this translation helpful? Give feedback.
All reactions