Dave Burke : Freelance .NET Web Developer specializing in Online Communities

Extending Community Server Email Services

I needed to send out an email to members of a billing group in my Community Server Business App when a job was marked complete.  I could have done something simple, but I wanted to do something cool and dig a bit deeper in the API since I had the opportunity.  So I created a new emails.xml <email /> template and populated those template email tokens with data from custom objects.  Here's the email that is produced before I get into the geeky details.

 

 

Notice the nice HTML formatting.  I typically duplicate the site's styling whenever I add email services to an application, which is what I've tried to do here.  CS2007's support for HTML email is also much improved over earlier versions, so there's actually a lot you can do with email formatting now.

Below is the template I added to the /languages/emails/emails.xml file.  You'll notice that [PM], [Jobno] and [Job] are original email tokens we'll need to populate when generating the JobComplete emailType.


 

I wrote an email provider to handle the email processing.  It wasn't necessary to construct it as a provider, but I wanted to stay as close to the original Mailroom model as possible.  The Mailroom XmlEmailTemplateProvider reads in the emails.xml file, so all I had to do was handle the [PM], [Jobno] and [Job] tokens.  



 

Then to populate those tokens I used the CS EmailTemplate provider with a custom EmailType (JobEmailType.JobComplete) and called the EmailHelper GetJobPostFields() method above.


Comments (0) | Post RSS RSS comment feed

Posted on 12/15/2007 9:44:02 AM by Dave Burke
Categories: .NET | Community Server

Related posts

Comments are closed

Copyright © 2008 Dave Burke Consulting  |  All Rights reserved.