Thank you MVP. I use your OutlookSpy and it's great!
I find the hidden message and find Outlook stores message ids (UIDL) getting
from POP3 Server in the attachments of that hidden message. The names of
attachments are Blobxxxxxxxx (8 x), Restagsxxxxxxxx (also 8 x),
Deletedxxxxxxxx (also 8 x). There are 3 Blob files, 3 Restags files, and 3
Deleted files, because I have 3 POP3 accounts. Then I have some questions and
need your help.
1. Since I have 3 POP3 accounts, how do I know which Blob, Restags, Deleted
files belong to each of my account?
2. I know the UIDL id stores in Blob file. When I permanently delete a
message, Outlook add its UIDL to Deleted file. I think when logons to POP3
server next time, Outlook will read Deleted file and send DELE command to
POP3 server. If my COM Add-in could add UIDL to Deleted file (in the hidden
message) when permanently deleted a message, Outlook would send DELE command
to POP3 server and delete copy of the message. The first thing I have to do
is get UIDL. I cannot find where UIDL was stored. Is there any relation
between EntryID and UIDL? It's easy to get EntryID.
You are an excellent expert in this area and and I believe you can find a
good way. And I really really really need your help. :-)
Thank you so much!
"Dmitry Streblechenko" wrote:
No, it does not delete the message id.
Yes, you can access the list of message ids. If you are using CDO 1.21, use
the Folder.HiddenMessages to find the corresponding message. Look at the
hidden messages with OutlookSpy (click IMAPIFolder, go to the "Associated
Contents" tab) or MFCMAPI.
I don't see however how that will help you - if you delete that message id,
POP3 provider will assume that it is a new message and download it again.
This is the opposite of what you are trying to achieve.
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
"Rui Feng" wrote in message
...
So do you think CDO "Message.Delete" method does not delete (maybe forget
to
delete) message ids in that hidden message? If this is true, can my add-in
access that hidden message in the Inbox and delete ids?
Thank you.
"Dmitry Streblechenko" wrote:
Outlook stores the list of the message ids in a hidden message
(PR_MESSAGE_CLASS = "IPM.MessageManager") in the Inbox.
However there is no way to tell the POP3 provider in Outlook to delete a
particular message from a POP3 server.
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
"Rui Feng" Rui wrote in message
...
Hi all.
My Outlook 2003 retrieves emails from a POP3 server. I set to "Leave a
copy
of messages on the server" and "Remove from server when deleted from
'Deleted Items'". I wrote a COM Add-in using VC++ 6.0
When recieved a new mail from certain sender, I can catch the
ItemAdd event and use CDO Message-Delete() to permanently delete that
new email. But the email has not been deleted from the POP3 server.
I guess there is a looking-up table in Outlook. When I delete an Email
in
"Deleted Items Folder", Outlook find ID of that email and set a value.
It
uses that value to notify the POP3 server next time to delete
corresponding
email
with the same ID on the server.
I think maybe CDO doesn't tell Outlook that "an email was deleted and
please
tell
POP3 Server to delete the copy when connected next time".
Is that true and how to solve it? If you can do it using other
programming
language
like VB please tell me anyway.
Thank you. :-)
--------
Beijing, China