Le Café Central de

                 ... Deva blogs!!

  • Le Café Central de DeVa

    Exchange Server 2007 - Transport Agent


    Transport Agent - Introduction

    Exchange Server 2007 provides a class library based on the MS.NET Framework that enables you to implement transport agents that programmatically check and take action on transport events. It can be used to change and read the message contents during these events.

    Transport agents enable you to access information about messages that travel through the Edge and Hub Transport servers. They have access to e-mail messages and their contents while the messages move through the transport services.


    • An Exchange Server 2007 has Edge and Hub Transport server roles installed
    • Microsoft.Net 2.0 SDK installed
    • Microsoft Visual Studio .Net 2005 (recommended)

    Used Namespaces 

    • Microsoft.Exchange.Data.Transport            
    • Microsoft.Exchange.Data.Transport.Email    - to make use of common email elements
    • Microsoft.Exchange.Data.Transport.Smtp     - to make use of SMTP receive agent
    • Microsoft.Exchange.Data.Transport.Routing  - to make use of Routing agent

    Referencing Assemblies 

    • When we install Exchange Server 2007 in our system, Exchange Sever installer installs & registers in the global assembly cache (GAC) the assemblies that are required for the development of transport agents.
    • To begin implementing a transport agent, create a reference to the Microsoft.Exchange.Data.Transport assembly in a class library project


    Installing an Agent

    Once you compile the agent to a .dll; you must install and enable the agent on development Exchange server. At Exchange Management Shell(EMS), use the Install-TransportAgent command to install your agent, and the Enable-TransportAgent command to enable your agent.

    For example you can make use of EMS to install and enable an agent named "MyAgeOne" by using a class derived from SmtpReceiveAgentFactory named MyAgentOne.MyAgeOneFactory.

    Install-TransportAgent -Name "MyCustomAgent" -TransportAgentFactory "MyAgeOne.MyAgeOneFactory" -AssemblyPath "C:\myagents\MyAgeOne.dll"

    Enabling an Agent

    For example the agent MyCustomAgent on the server on which the agent is installed:

    Enable-TransportAgent -Name "MyCustomAgent"

  • Le Café Central de DeVa

    EWS : Delegate Access using Exchange Web Services


    Delegate Access

    Exchange 2007 enables delegates to access the mailbox of a principal and perform create/delete/update/copy/search operations using Exchange Web Services (EWS).

    There are two ways we can access the contents of other users mailboxes:

    • Exchange Impersonation - Enable one account to act as another account
    • Delegate Access - Account act on behalf of the account of principal

    EWS is a powerful tool for accessing other users mailboxes. Delegate access provides a convenient way for EWS clients to act on behalf of other user accounts and opens the way to create client applications that can work across mailboxes.

    For more information, please click here

  • Le Café Central de DeVa

    EWS : Best Practices for Using Exchange Web Services for Calendaring Tasks


    Best practices for using Exchange Web Services for Calendaring Tasks 

    In Exchange Server 2007 - Exchange Web Services (EWS) provides,

    • Rich set of Web methods and types
    • can use to create/update/generate calendar work flow between Exchange 2007 mailboxes.

    These methods can also cause a lot of confusion and unforeseen consequences when they are used incorrectly.

    Here is an interesting article, which talks about the "Best practices for using Exchange Web Services for Calendaring Tasks"

  • Le Café Central de DeVa

    Public Folder


    Public Folders

    They're intended to serve as a repository for information that is shared among many users. Public folders should be used when your business requires data replication to multiple servers. 

    Used for

    • Public folders can be used for shared communication, such as discussions through message posts, shared e-mail messages, contacts, group calendars, archiving of distribution list posts, and support for Network News Transfer Protocol (NNTP).
    • Public folders can be used for shared content management. Like file shares, public folders can be used to store content, such as documentation. Public folders are also good for sharing content if you do not require versioning and provisioning.

    If you require offline storage of information or replicated storage of information, public folders are an ideal repository.

    Not used @

    • Public folders were not designed for archiving data. Users who have mailbox limits sometimes use public folders, instead of personal folder (.pst) files, to archive data. This practice is not a recommended best practice because it increases storage on public folder servers and undermines the goal of mailbox limits.
    • Public folders were not designed for document sharing and collaboration. Public folders do not provide versioning or other document management features, such as controlled check-in and check-out functionality, and automatic notifications of content changes.
  • Le Café Central de DeVa

    Services - Exchange Server 2003


    Services that are used by Exchange (Exchange Server 2003)

    As we know, Services are application types that run in the system background. Services provide core operating system features, such as Web serving, event logging, file serving, help and support, printing, cryptography, and error reporting.

    Here is another nice & interesting article, which gives detailed information about the Services that are used by Exchange (Exchange Server 2003). This article will give you an in-sight of Exchange related services.

    Please click here to read the article

  • Le Café Central de DeVa

    Tools used with Exchange Server 2003


    Tools used with Exchange Server 2003

    Here's an interesting article that i found on MS Technet, which talks about the Tools that are used with Exchange Server 2003.

    Certainly this article is an eye-opener and handy one.

    Please click here to find more information

  • Le Café Central de DeVa

    Mailbox store & Public folder Store - Basic Information


    Basic Information about "Mailbox store and Public folder Store"

    • MS Exchange store is a storage platform. The Exchange store is also known as the Web Storage System.
    • It provides a single repository for managing multiple types of unstructured information in one infrastructure.
    • Mailbox stores & public folder stores are two of the components of the Exchange store.

    MS Exchange Server 2000 & 2003 include two types of information databases:

    • Mailbox Store:
      • Hold personal mailbox information.
    • Public Folder Store:
      • It's a shared repository, where information that is shared among many users. Public folders should be used when your business requires data replication to multiple servers.
  • Le Café Central de DeVa

    Setting Locale information


    Found one of the interesting function "Setlocale".

    Setlocale function sets the global locale and returns the previous locale. This function has a parameter "lcid" to identify uniquely a locale, which is a 32 bit value/short string.

    Syntax: Setlocale(lcid)

    If "lcid" is set as Zero(0), then it will set the current system setting.

    Please find the working sample available, click here

  • Le Café Central de DeVa

    Monitoring Event Sink # 1 - Listing registered Event sink information


    Use the following command at command window to get list of registered Event sink registration:

    Cscript [//NOLOGO] ListMailboxes.vbs {/F:filename | /S:servername} [/DEBUG]



    Suppresses the version of Windows Script Host (WSH) and copyright information.


    The name of the text file that contains the names of the servers, will be available one per line, for which you want to list mailboxes. You must create the text file before you use this script.


    Name of the server that contains the mailboxes that you want to list.


    Outputs verbose debug information that you can use for diagnosis.


    You must specify either the /F or /S switch.

    For more information, please read this Technet article click here.

  • Le Café Central de DeVa

    Event Sink - How to guides


    Event Sink - How to guides:

  • Le Café Central de DeVa

    Get all mailbox information from WMI & C#.Net


    In one scenario, there was a need for me to get all mailbox related information using WMI and C#.Net.

    Here is a code snippet to get all mailbox information from an Exchange Server - WMI & C#.Net.

    using System;
    using System.Management;

    namespace ConsoleTwo
        class Class1

            static void Main(string[] args)
                    System.Management.ConnectionOptions objcon = new System.Management.ConnectionOptions();
                     objcon.Impersonation = ImpersonationLevel.Impersonate;
                    // Exchange Server Name
                    string cServername = "Server Name";
                    // Create a management scope into Exchange WMI namespace
                    System.Management.ManagementScope exScope =
                        new System.Management.ManagementScope(@"\\" + cServername + @"\root\MicrosoftExchangeV2", objcon);

                    // Create a query to get the data from the Exchange WMI
                    System.Management.ObjectQuery objQry =
                        new System.Management.ObjectQuery("SELECT * FROM Exchange_Mailbox");

                    // Retrieves a collection of management objects based on the query.
                    System.Management.ManagementObjectSearcher objSrch =
                        new System.Management.ManagementObjectSearcher(exScope, objQry);
                    System.Management.ManagementObjectCollection qryCol = objSrch.Get();

                     // Loop each item in the collection
                    foreach (System.Management.ManagementObject mailBox in qryCol)
                         Console.WriteLine("{0} {1} {2}", mailBox["MailboxDisplayName"].ToString() , mailBox["TotalItems"].ToString() , mailBox["size"].ToString() );
                catch (Exception eVal)
                    Console.Write(eVal.InnerException + eVal.Message + eVal.Source + eVal.StackTrace );

  • Le Café Central de DeVa

    Event sink: Will it sink?


    Lets we discuss about Event sink: It will sink?

    Just for words, it might be fascinating or it will be funny to hear such remarks. Some guys even crib about that too; but it's not actually. Event sink is one of the strongest feature available in Exchange environment; they're helpful in many scenarios and quite lot of applications wrapped around it.

    I have worked with couple of scenarios with Event sink; it can be used to monitor the incoming/outgoing mails, virus scanning applications, stripping attachments, spam filters etc.

    So what is a Event sink

    It's a piece of code which defines how the server or the computer is to handle the given events.

    What it can be used for?

    They can be used as spam filters to fire certain actions;

      • act as spam filter
      • to find certain types of attachments
      • can get response to the receipt of an e-mail message with certain characteristics
      • to strip out the incoming/outgoing attachments
      • download the attachments to specific physical folders
      • block the attachments within their org/enterprise level
      • to delete excessive data sent............................................. for more information, please click here

    What are the Technologies can we create event sinks:

    • VB Script
    • Managed Sink - Created & compiled in .Net framework
    • C++

    Types of Event sinks:

    • Synchronous
    • Asynchronous
    • System

    For detailed information, please find @ Matt's blog

  • Le Café Central de DeVa



    WMI: Microsoft Windows Management Instrumentation (WMI) is an extensions to Windows Driver Model (WDM); it provides the Operating System interface to access any instrumented (have ability to monitor) Enterprise components that provide the information as well as notification.

    WMI is the Microsoft implementation to two industry standards of DMTF (Desktop Management Task Force). They are,
    1. CIM  - Common Information Model  2. WBEM - Web-Based Enterprise Management

    Usage: Some of the common usages are,

    • Access most elements of your operating system and its environment
    • Can access a local or remote computer
    • Can configure and manage the hidden settings


    • Can be used with the Programming languages(VB.Net, C#.Net, etc.)
    • Can be used with the Scripting languages(Windows Shell, VBScript, etc.)
    • Also available as Command Line Interface - Windows Management Instrumentation Command-line (WMIC)
    • Pre-installed in most of the latest Windows OS
    • Downloads (redistributables) available for Windows 95, Windows 98

    For more WMI Scripting info click, WMI Scripting Primer  |  Need Troubleshooting and tips for WMI, click WMI FAQs

  • Le Café Central de DeVa

    Microsoft Surface


    Surface computing has arrived.
     Microsoft Surface

  • Le Café Central de DeVa

    Exchange - Terminology changes Roadmap


    Here is an interesting article which tabulates terminology changes from MS Exchange Server 5.5  to Exchange Server 2007; there are quite many changes been made between these versions, added/removed quite many features.

    Although this table doesn't include all the features, but it can be used as a starting point to help yourself...

    Please click here to read the article

  • Le Café Central de DeVa

    My First Post



    I am DeVa working as Support Engineer for Microsoft. Currently located in Bangalore, India. I am a generalist and support code related (programmatic) access to Enterprise Business Application - especially Exchange and Outlook related stuff, like VBA, Sinks, VSTO, WebDAV,  CDOx.

    Have hands of development experience in SAP and Microsoft Technologies in Aeronautical, Retail, Manufacturing domains....

    Interests: .Net Programming - Web/Windows/Mobile applications, Enterprise Library

Page 29 of 29 (716 items) «2526272829