Sending emails is a problem re-solved by developers every day. Not that it’s hard but as we all know connecting to smtp servers is known to not work super reliable at all times. To help out we created a NServiceBus satellite that gives you the benefits of the retries that comes with NServiceBus to make your email sending more robust.
The reason we wen’t for a satellite is that we can give you the robustness of a separate queue without requiring you to setup a new Endpoint or configure any message mappings.
This way every endpoint will have this capability builtin and the only config needed is the SmtpClient config section
The API for this new feature is Bus.SendEmail(new MailMessage), we’re using the System.Net.Mail.MailMessage as this is a proven abstraction for sending emails.
This entire feature was developed at the NDC2012 NServiceBus hackathon with the help of the audience so I would like to thank all the ones that showed up and helped us!
The code is currently on our develop branch and it will be included in our next major release.
A sample demonstrating all this can be found here.