Pretty cool, always nice when companies share stuff like this.
I’ve been wanting to write a library like Lamson for Haskell for awhile now. Partly because I think it’d be useful, partly because I like the way in which email is asynchronous and distributed by nature. There are SMTP libraries but nothing that lets you structure routing, handle resilience, etc. in a principled and well-designed manner.
We selected SMTP as our transport mechanism because it allows us the luxury of inserting a layer in our infrastructure to handle queueing and resilience of mail transport before handing messages across to the ESP.
Curious why this isn’t possible with HTTP ?
I suppose it’s possible with HTTP, but we get it essentially for free with SMTP. While HTTP will queue requests to a certain degree, I’m not aware of any built-in functionality within the HTTP protocol that provides backoff/retry on failure.
Ah. I didn’t realize SMTP offered this as part of the protocol.