It's been a while but I'm finally getting to take a break and im off to Japan for some holidays for the next 3 weeks. If you have any questions about the scripts and bit's and pieces on this blog i will try and get back to you in September.
Mofidifed 15.9.2005 to include not about date format I had a question from a customer last week about where the folder for attachments was in Exchange so they could go in and delete anything that they thought was a bit old or that they thought they didn’t need. Although these questions at times can make me cringe my explanations of how Exchange goes about storing things and what’s considered best practice when it comes to mail archiving didn’t seem to be getting though so there arose a need to produce some sort of reports so that the customer could at least see what’s going on themselves. This was a small site 10 users so this wasn’t going to be too much information overload so I set to the task of building something to do this. There where two ways I could have gone with this one way would have been to export all the information about the attachments into a database and then do some ASP pages to report on the database. Which wasn’t going to be to practicle because I needed a delivery
Someone asked today about a C# sample for Iterating though mailboxes stores in a storage group in C#. There's a lack of good samples out there that show this at the moment so I threw one quickly together. One thing that recently changed with the release of the latest Exchange SDK is that Microsoft has "removed support for CDOEXM in ASP and ASP.NET Web pages Because of issues with multiple-hop authentication and unexpected results observed in multithreaded runtime environments" see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/wss_sdk_whats_new.asp I've put a downloadable copy of this code here CDOEXM.IExchangeServer iExs; CDOEXM.IStorageGroup iSg; CDOEXM.MailboxStoreDB iMdb; CDOEXM.PublicStoreDB iPf; iExs = new CDOEXM.ExchangeServerClass(); iSg = new CDOEXM.StorageGroupClass(); iMdb = new CDOEXM.MailboxStoreDBClass(); iPf = new CDOEXM.PublicStoreDBClass(); string snServername = "servername"; iExs.DataSource.Open(snServername,
Someone asked me last week about sending a delivery recipient programmatically via OWA which is a bit of interesting one so I thought I’d share. There is a good KB article that gives a description of how to send read and delivery recipient via CDOSYS (and CDOEX) using the urn:schemas:mailheader:disposition-notification-to (for read recipients) and urn:schemas:mailheader:return-receipt-to (for delivery recipients). If your sending via the OWA send command you need to include two different properties "http://schemas.microsoft.com/exchange/readreceiptrequested=1" "http://schemas.microsoft.com/exchange/deliveryreportrequested=1" If you are sending via WebDAV for example using this code from the SDK . You need to make the following mods Declare another string eg string strNotifyaddr = "\"Fred Smith\""<firstname.lastname@example.org>"; And then modify the header string to include disposition-notification-to and Return-Receipt-To eg strMailboxUR
All sample scripts and source code is provided by for illustrative purposes only. All examples are untested in different environments and therefore, I cannot guarantee or imply reliability, serviceability, or function of these programs.
All code contained herein is provided to you "AS IS" without any warranties of any kind. The implied warranties of non-infringement, merchantability and fitness for a particular purpose are expressly disclaimed.