The target of one of our projects was MS Exchange trainer for processing incoming email.
The basal derivation of familiarity was this article "Developing Managed Event Sinks/Hooks for Exchange Server Store using C#" by Logu Krishnan, published to the computer address [http://www.codeproject.com/csharp/CsManagedEventSinksHooks.asp], and also examples from Microsoft Exchange SDK.
We utilized Synchronous Events and created the handler, which fires on OnSyncSave case. The animal trainer creates hobby diary in Microsoft CRM and afterwards removes the communication in the Exchange information earlier the commitment:
Post ads:record telephone radio shack / girlfriend snooping email / cell phone monitoring programs / spiare cellulare da computer / telephone recording equipment / is it cheating if you are on a break / record telephone or phone call or conversation android / record phone call envy 3 / best phone conversation recorder app android / contextual gadgets in gmail / boyfriends cheating in dreams / software for nokia mobile phones free download / should telephone tapping be legalised / sms archive / best iphone spy apps 2012
public emptiness OnSyncSave(IExStoreEventInfo pEventInfo, lead bstrURLItem, int IFlags) {
try {
if (IFlags == ((int)EVT_SINK_FLAGS.EVT_SYNC_COMMITTED (int)EVT_SINK_FLAGS.EVT_IS_DELIVERED)) {
ProcessMessage(pEventInfo, bstrURLItem, IFlags);
}
Post ads:dynametric telephone transmit patch / axis mobile monitor software / are mobile phone calls monitored / top 10 signs that your spouse is cheating / recorder to record phone calls / listening devices ebay uk / make bug listening device / tracking devices cheating / surveillance and broadcast services sbs program / mobile text spyware / cheating a polygraph with a pin / free cell phone spy gear / hints your husband is having an affair / series 60 mobile applications / signs of husband having emotional affair
}
catch (Exception ex) {
log.Debug(ex.Message "\\n" ex.StackTrace);
}
finally {
LogManager.Shutdown();
}
}
For Exchange handlers debugging - it is the absolutely convenient to use net log4net in RollingLogFileAppender or RemoteAppender modes (for triune case of COM objects). You can publication more on this question present
To allow the trainer inbound communication removal, it is necessary to donate square-toed rights to the user, low which portrayal the COM request runs the trainer. These are rights on switch of the statistics in user's boxes for whom it is registered (Windows 2003 Server: Active Directory Users and Computer -> Users -> Properties (for COM contention article) -> Exchange Advanced -> Mailbox Rights). And now the code:
private empty space DeleteMessage(string bstrURLItem) {
try {
ADODB.Connection oCn = new ADODB.Connection();
oCn.Provider = "exoledb.datasource";
oCn.Open(bstrURLItem, "", "", -1);
if(oCn.State == 1) {
log.Debug("Good Connection");
}
else {
log.Debug("Bad Connection");
}
ADODB.Record rec = new ADODB.Record();
rec.Open(bstrURLItem, oCn,
ADODB.ConnectModeEnum.adModeReadWrite,
ADODB.RecordCreateOptionsEnum.adFailIfNotExists,
ADODB.RecordOpenOptionsEnum.adOpenSource,
"", "");
rec.DeleteRecord(bstrURLItem, illegitimate);
rec.Close();
oCn.Close();
rec = null;
oCn = null;
}
catch (Exception ex) {
log.Debug(ex.Message "\\n" ex.StackTrace);
}
}
Happy customizing!
Boris Makushkin
留言列表