I've used an e-Mailable ASP.Net web page described by Eric Woodruff in an ASP.NET application. When I converted the ASP.NET application to DotNetNuke, I still wanted to have the same functionality-ability to e-mail rendered content of the DotNetNuke module.
I created the class EmailableModule based on DotNetNuke.Entities.Modules.PortalModuleBase and copied and paste the content of EMailPage class. There are a few places where I changed references to page to references to DNN module.I was able to use helper Event and Exception classes from the original EMailPage without changes.
Now I can use the same class derived from EmailableModule in DNN application and in generated e-mails.