// the find
lukencode/FluentEmail
All in one email sender for .NET. Supports popular senders (SendGrid, MailGun, etc) and Razor templates.
FluentEmail is a .NET email abstraction that gives you a fluent builder API on top of whatever sender you choose — SMTP, SendGrid, Mailgun, MailKit, or Microsoft Graph. It handles the templating side too, with Razor and Liquid renderers available as separate packages. If you need to drop email into a .NET app without coupling your code to a specific provider, this is the standard pick.
The ISender/ITemplateRenderer interfaces are clean and the DI integration is straightforward — swapping from SMTP in dev to SendGrid in prod is a one-line config change. Liquid templating is a genuinely good choice for user-submitted or CMS-driven templates where you don't want arbitrary C# execution. The package decomposition is sensible: you only take what you need, and the core model stays thin. Test coverage across senders is present and the CI pipeline actually runs them.
Last push was March 2024 and the commit history shows maintenance mode, not active development — if a provider changes its API, you may be waiting a while for a fix. The Razor renderer depends on RazorLight, which has its own history of maintenance lapses and carries a non-trivial compilation overhead at first render. There's no built-in retry or bounce handling — you get fire-and-forget; anything beyond that you wire yourself. The Mailgun sender uses a hand-rolled HttpClient helper rather than IHttpClientFactory, which means no connection pooling or Polly integration without replacing it.