Reading the value of SentOnBehalfOfName of an unsent/unsaved message w/o security prompt

O

Oliver Giesen

Hi all!

I need to check the value of a mail item's SentOnBehalfOfName (aka
"From") before it gets sent (e.g. from BeforeCheckNames or ItemSend). I
am already using Redemption to circumvent the security prompts but the
problem seems to be that at the moment when I perform the check Outlook
has not yet persisted the value anywhere that Redemption can access it.
Accessing it without Redemption works but gives me the security prompt.
I already tried reading the value directly from the text box using
WM_GETTEXT but even that only returns an empty string if the sender has
already been resolved (at least in OL2003 - haven't checked the earlier
versions yet). Needless to say that the underlying MAPI properties
(i.e. PR_SENT_REPRESENTING_*) have not been set at that stage either.

Any other ideas besides sending mouse click messages to the security
prompt?

Cheers,

Oliver
 
O

Oliver Giesen

Ken said:
Have you tried saving the item?

Thanks, that works indeed but in my situation it requires a whole lot
of extra code to keep the user's Draft folder clean: In certain
situations I might cancel the send based on my checks and in that case
the saved item would remain in the Draft folder... I think I got all
eventualities (e.g. user-invoked saves) sorted out now but it still
feels like a bit of a hack. Is there maybe some proven solution to this
(quite common?) dilemma?

Cheers,

Oliver
 
K

Ken Slovak - [MVP - Outlook]

Yeah, set a flag when you save an item, checking its .Saved status first. If
previously unsaved your flag reflects that. When the Item_Write event fires
if your flag indicates that you saved the item you clear the flag and set
another one to indicate that Write fired. Then on Close you can get and
delete the item from Drafts if necessary.

There's nothing but doing some sort of hack for this situation where you
need to save an item to get various properties or the attachments or
recipients tables.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top