This question is somewhat related to Does sendmail send everything to downstream smarthost in "single file"? but is separate to present information regarding a specific issue.
I have a mail environment with the following setup:
Application Servers -> sendmail relay -> cloud email service -> internet
The downstream cloud service requires emails to be smarthosted to them in single file. If it sees multiple simultaneous SMTP connections from the same public source IP, it accepts one and defers the others with a 400-class error. Obviously this severely limits outbound throughput and we're working with the cloud provider to try to resolve this. In the meantime though, I need to find a way to have sendmail send everything in a single connection.
At first glance, I thought that the
confSINGLE_THREAD_DELIVERY option might be appropriate but I still feel like I'd experience issues if the queue runner is processing a deferred messages at the same time that a new incoming connection wants to send something immediately through. Or worse -- the queue runner is busy with a large queue and never lets any new messages get sent through.
I know it's a silly requirement and as I mentioned, we're working with the cloud provider but in the meantime, is there a sendmail configuration that could satisfy that requirement while balancing the delivery of both new and queued messages?