New items don't have the EntryID
property set. The value is assigned by the store provider when an item is saved to the store.
If the item is already saved to the store you can use the PR_MESSAGE_FLAGS
property value which contains a bitmask of flags that indicate the origin and current state of a message.
This property is initialized by the client or message store provider when a message is created and saved for the first time and then updated periodically by the message store provider, a transport provider, and the MAPI spooler as the message is processed and its state changes.
Try to check for the MSGFLAG_UNSENT value which stands for the following:
The message is still being composed. It is saved, but has not been sent. The client or provider has read/write access to this flag until the first IMAPIProp::SaveChanges call and read-only thereafter. If a client doesn't set this flag by the time the message is sent, the message store provider sets it when IMessage::SubmitMessage is called. Typically, this flag is cleared after the message is sent.
See PidTagMessageFlags Canonical Property for more information about possible values.