When we were discussing the automatic creation of e-mail signature for message in Outlook in the series of articles posted previously (see Part I, Part II and Part III), I told you that I recommend choosing HTML when defining the type of message format to be used by default for composing messages in e-mail client. Although the rendering capability of Office Outlook 2007 has changed because Outlook now uses rendering capabilities of Microsoft Word 2007 rather then the engine of Internet Explorer 7 it doesn’t mean that we can’t use pretties of HTML as the subset of what HTML 4.01 specification is supported by Word engine.
In the dynamically changing world we think dynamically, we communicate dynamically using Windows Live Messenger smart-tag integration with Outlook and utilize Live Communication Server to collaborate with colleagues throughout the world or within the close corporate community by deploying Windows SharePoint Services and building web enterprise portal. Today when we are living the the moment when RSS syndications rose their popularity and XML is currently so popular so we not have XML Notepad 2007 why not using all the above mentioned technologies?
Think of it: for example you’re managing publishing business and you want to keep your customers tuned to what new publications you offer them, what’s upcoming, etc. Or say, you want your managers to have special signatures that will include info (such as general directions) relevant to the person whom it, the message, is send to.
I found an article that describes how to make signature dynamic and thus adding to the signature more descriptive and effective.
I will not go deep into that, that’s what the article is intended for, but the layout and info about what they are using there to do that is worth to be noted.
Author suggests to use corporate intranet portal as the source for the data and Rich Site Summary syndication as the technology to deliver data to user. So you need to have ASP.NET 2 installed on the server to process ASP web handler ASHX files on the server side and deliver html code that will be rendered on the client side. As Microsoft Visual Studio 2005 Express Edition and Microsoft Office Outlook 2003 are enough, you can start diving into it for yourself right after ending with reading the article. So what is used? “Just to enumerate some: web requests, web handlers, graphics, caching, section handlers etc.” To made solution really dynamic and flexible author created config file that stores data that describes how to draw the stuff in the format that is very close to the RSS 2.0 specs. The problem here is to receive the HTTP request and response on it by sending the PNG image. To do that HTTPWebRequest and HTTPWebResponse classes are used to transfer the data via HTTP protocol. As the target is to deliver the Portable Network Graphics image to the page, type is defined using the ContentType property:
objResponse.ContentType = “image/png”
To solve the problem of request overloading by implementing the caching that saves the image from being loaded with each request. The default time that defines how long to store the image in bitmap cache is set to be 15 minutes but it can be easily changed using the TimeSpan structure
new TimeSpan(0, 15, 0)
The interesting thing with PNG format is that it “cannot be written to a non-seekable stream, an intermediate memory stream object (which is seekable) is used”.
The MemoryStream is used to manage that.
Then author creates three procedures: the first one handles exceptions and draws them on the page if any and the last two are those ones who are responsible for building the contents where one build the title of the channel and teh second builds the items for it. Author chose two items to be drawn on the page. These are the post title that is drawed using the title property and the post publication date which is drawn using the pubDate property.
The drawing procedure is not very simple but clearly made as described. It creates the rectangles that build the signature, the borders, and manipulates with bushes.
Very nice article that delivers the food for thought and opens the capabilities to extend the mail signature representativeness the way you want it to go.
Links for further information:
The article I am talking here about. You also can download the Windows Installer distribution with C# code
Make Sure Your Mail is Compliant: Download 2007 Office System Tool Outlook HTML and CSS Validator
Read Additional Information about Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 (in two parts):
Strangely enough the part I has file name index higher then the part II…
What’s New for Developers in Outlook 2007: Part I, Part II
How to use Smart-Tags in Microsoft Word
How to write ASHX file
Creating an ASHX handler in ASP.NET
Technorati tags: HTTPWebResponse class HTTPWebRequest class C# structure C# classes image delivery TimeSpan structure CSS rendering drawing image pubDate property ASHX ASP handler RSS feed Microsoft Office content management RSS syndication mail signature Rich Site Summary dynamic signature object model smart-tag outlook profiles dynamic content outlook signature