Our great sponsors
-
OpenSMTPD
This is official OpenSMTPD Portable repository. Forks, pull requests and other contributions are welcome!
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I know about dma, ssmtp, msmtp, nullmailer and https://github.com/decke/smtprelay/, but these don't seem to support queuing and retries.
Have you looked at OpenSMTPD?
As I'm learning more I see I didn't formulate my requirements quite right. My client app is a SMTP client (a Django webapp, it uses Django's default email backend, which uses python's smtplib). It needs a TCP port to connect to, but looks like both nullmailer and dma doesn't offer that. Instead you have to inject messages in the queue by calling the sendmail binary. Now, there's a 3rd-party Django email backend that uses sendmail but that has its own new set of problems ;-)