Well it’s been a few months since the last release, and I decided it was time to get cracking. I’m sorry for the delay, but I hope you’ll agree that it was worth the wait. So without further adieu, let’s go over the new stuff!
Separating Components
So one of the things a lot of people have been asking for is a version of ActionMailer.Net that works without a dependency on ASP.NET MVC. It took me a while to come up with a strategy for doing this, but I think I’ve covered all the bases. That said, I had to move things around. So here’s how the project is laid out now:
- ActionMailer.Net – This project contains generic code that can be applied to either the MVC or Standalone versions of ActionMailer.Net. This DLL is referenced by the other two projects as sort of a “Core” set of functionality.
- ActionMailer.Net.Mvc (Nuget: ActionMailer) – All the MVC-specific stuff has been moved into this project. This means that MailerBase, EmailResult, and all the Html/Url helpers live in this project. In most cases, all you’ll have to do is change your “using” statement to this new namespace, and your existing code should work just like it has been.
- ActionMailer.Net.Standalone (Nuget: ActionMailer.Standalone) – This project contains a standalone version of the ActionMailer.Net email rendering engine. Right now we only support Razor views through two new classes: RazorMailerBase and RazorEmailResult. I’ve decided to use the RazorEngine project to power this system. This engine supports models in the same way MVC does, but some other features (i.e.: layouts) have not been implemented, yet. This support is still pretty basic, but it should be enough to do most things fairly well.