After removing the filter rule, the event sink does get fired when a MAPI msg
arrives at the SMTP transport.
So, the next thing is how does one get hold of the MAPI message from
IMailMsgProperties interface ?
Typically this is caused by setting a filter of "mail from=*". MAPI
messages don't have a "mail from" field at all, so the filter doesn't match.
Reinstall the sink without the filter and try it again (a couple times).
I am seeing the same problem. A message sent by OutlookExpress does showup
SMTP transport event sink but the ones sent by Outlook2000 don't. It should
possible to have a Tnef parser/converter but the first thing is to get hold
the message in the event sink.
Any definitive answer from someone at Microsoft !
MAPI clients are a known issue. Though the event should fire, you cannot
get hold of most properties or attachments. Consequently oyu can't do much
with the sink. This all has to do with the TNIF encoding of MAPI messages -
that first would have to be cracked to let the event sink fire correctly.
Microsoft is aware of this issue, but it's probably a tough one to solve. I
always heard MS say - use the Transport Events just for incoming mail - and
of course, that's just half the fun (or even less :-) ).
Compaq Global Services
> Hi All,
> I have been trying to implement a CDO SMTP event sink and have done it in
> ATL in C++.
> I have got the thing to fire for all direct SMTP connections (e.g. from
> Outlook Express) but it does not work with MAPI mails being sent from my
> Outlook 2000 client. The Outlook client has the "Exchange server" service
> installed and when I send a mail from it, the event does not fire. I have
> removed the rule from the sink, but still cannot get it to fire. The
> Microsoft Seminar on Protocol and Transport event sinks says that *all*
> e-mails going through Exchange2000 go through the SMTP service (even MAPI
> ones). That means that all mails should fire the CDO "OnArrival" event
> wraps the SMTP Transport "OnSubmission" event).
> Does anyone have any ideas on how to do this?
> Also, how inefficient is using CDO for 2000 for the event sinks if the
> is cacheable?