![]() |
How to create mail item in OL 2007 using MAPI
I create mail items using MAPI. It works fine in OL XP/2003.
But when I try to set some properties in OL 2007 I have MAPI_E_NO_ACCESS error: hr = spMsg-SetProps(sizeof(props) / sizeof(props[0]), (LPSPropValue)&props, NULL); // hr == MAPI_E_NO_ACCESS. After that I see created mail item in given folder but only the recipient property is filled. So, how can I fill other message properties in OL 2007 using MAPI ? |
How to create mail item in OL 2007 using MAPI
What are the properties that you set? How do you open spMsg?
Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Ivan" wrote in message ... I create mail items using MAPI. It works fine in OL XP/2003. But when I try to set some properties in OL 2007 I have MAPI_E_NO_ACCESS error: hr = spMsg-SetProps(sizeof(props) / sizeof(props[0]), (LPSPropValue)&props, NULL); // hr == MAPI_E_NO_ACCESS. After that I see created mail item in given folder but only the recipient property is filled. So, how can I fill other message properties in OL 2007 using MAPI ? |
How to create mail item in OL 2007 using MAPI
I set these message properties:
PR_SUBJECT; PR_BODY; PR_SENDER_EMAIL_ADDRESS; PR_SENDER_NAME; PR_SENDER_ADDRTYPE; PR_SENT_REPRESENTING_EMAIL_ADDRESS; PR_SENT_REPRESENTING_NAME; PR_SENT_REPRESENTING_ADDRTYPE; PR_MESSAGE_FLAGS; PR_CLIENT_SUBMIT_TIME; PR_CREATION_TIME; PR_MESSAGE_CLASS; PR_EMAIL_ADDRESS; PR_DISPLAY_TO; PR_DEFAULT_PROFILE; PR_AUTO_FORWARDED; and for recipient: PR_RECIPIENT_TYPE PR_ADDRTYPE PR_EMAIL_ADDRESS PR_DISPLAY_NAME // Message creation: hr = pMAPILogonEx( 0L, NULL, NULL, ulFlags, &spIMAPISession ); hr = spIMAPISession-OpenMsgStore( ..., MAPI_BEST_ACCESS | MDB_WRITE, &spIMsgStore ); hr = spIMsgStore-OpenEntry( ..., MAPI_BEST_ACCESS, ..., &spSentFolder ); hr = spSentFolder-CreateMessage( NULL, 0, &spMsg ); // ... filling properrties here hr = spMsg-SaveChanges( FORCE_SAVE ); |
How to create mail item in OL 2007 using MAPI
You cannot set the PR_CREATION_TIME property.
Why do you set the PR_DEFAULT_PROFILE property? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Ivan" wrote in message ... I set these message properties: PR_SUBJECT; PR_BODY; PR_SENDER_EMAIL_ADDRESS; PR_SENDER_NAME; PR_SENDER_ADDRTYPE; PR_SENT_REPRESENTING_EMAIL_ADDRESS; PR_SENT_REPRESENTING_NAME; PR_SENT_REPRESENTING_ADDRTYPE; PR_MESSAGE_FLAGS; PR_CLIENT_SUBMIT_TIME; PR_CREATION_TIME; PR_MESSAGE_CLASS; PR_EMAIL_ADDRESS; PR_DISPLAY_TO; PR_DEFAULT_PROFILE; PR_AUTO_FORWARDED; and for recipient: PR_RECIPIENT_TYPE PR_ADDRTYPE PR_EMAIL_ADDRESS PR_DISPLAY_NAME // Message creation: hr = pMAPILogonEx( 0L, NULL, NULL, ulFlags, &spIMAPISession ); hr = spIMAPISession-OpenMsgStore( ..., MAPI_BEST_ACCESS | MDB_WRITE, &spIMsgStore ); hr = spIMsgStore-OpenEntry( ..., MAPI_BEST_ACCESS, ..., &spSentFolder ); hr = spSentFolder-CreateMessage( NULL, 0, &spMsg ); // ... filling properrties here hr = spMsg-SaveChanges( FORCE_SAVE ); |
How to create mail item in OL 2007 using MAPI
Thanks! The problem was in these properties and PR_DISPLAY_TO.
|
All times are GMT +1. The time now is 12:29 PM. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com