A Microsoft Outlook email forum. Outlook Banter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » Outlook Banter forum » Microsoft Outlook Email Newsgroups » Outlook and VBA
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Sent Items



 
 
Thread Tools Search this Thread Display Modes
  #11  
Old May 20th 09, 07:22 PM posted to microsoft.public.outlook.program_vba
JHP
external usenet poster
 
Posts: 8
Default Sent Items

I will be using the GAL for my Exchange accounts, but outside of work I need
to access POP3/SMTP accounts.

So the short answer is POP3/SMTP.

Thank you (hope I haven't left this to long?),

"Dmitry Streblechenko" wrote in message
...
So do you want to access POP3/SMTP accounts or use the Exchange
mailboxes?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Just getting back to this:

Again thank you for your expertise, I really appreciate you taking the
time here... really!

Is it possible to access that information the way Outlook does
(POP3/SMTP) via script?

I really like the idea of using the GAL - thank you.


"Dmitry Streblechenko" wrote in message
...
Email does not know that, but Outlook does. For the POP3/SMTP accounts,
that information is tored along with the other account related
information, such as the names of the servers.
In case of Exchanage, you would need to read the entry id of the GAL
user, open the user's Sent Items foleer using
Namespace.GetSharedDefaultFolder, then move the message there.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Yes - under User Information - E-mail Address.

If you reverse the process... how does an incoming email know to go to
a particular folder (Account); I would like to know that logic and
apply it here.

When I send an email as someone else I want to move the mail item to
the correct Sent Items folder (if it exists in the current profile),
but I don't want to hard code the Folder Name to the Sender Name as the
folder name may change.

The following is what I did for our Exchange environment
(ThisOutlookSession):

Private WithEvents sentItems As Items

Private Sub Application_Startup()
Dim objNS As NameSpace
Dim objRecipient As Recipient
Dim objFolder As MAPIFolder

Set objNS = Me.GetNamespace("MAPI")
Set objRecipient = objNS.CreateRecipient(objNS.CurrentUser.Address)
objRecipient.Resolve

If objRecipient.Resolved Then
Set objFolder = objNS.GetDefaultFolder(olFolderSentMail)
Set sentItems = objFolder.Items
Set objFolder = Nothing
Else
MsgBox ("Error: Name Not Resolved - Please Contact Your
Administrator")
End If
Set objRecipient = Nothing
Set objNS = Nothing
End Sub

Private Sub sentItems_ItemAdd(ByVal Item As Object)
Dim objItem As Outlook.MailItem
Dim objNS As NameSpace
Const g_PR_SMTP_ADDRESS_W = &H39FE001F

If (TypeOf Item Is Outlook.MailItem) Then
Set objItem = Item
Set objNS = Me.GetNamespace("MAPI")

If objNS.CurrentUser.Name objItem.SentOnBehalfOfName And
objNS.CurrentUser.Name objNS.CurrentUser.Address Then
strEntryID = objItem.EntryID
strStoreID = objItem.Parent.StoreID
Set objSession = CreateObject("MAPI.Session")
objSession.Logon "", "", False, False
Set objMessage = objSession.GetMessage(strEntryID,
strStoreID)
strAddress = objMessage.Sender.Address

If Not InStr(strAddress, "@") Then
On Error Resume Next
strAddress =
objMessage.Sender.Fields(g_PR_SMTP_ADDRESS_W).Valu e
End If
objSession.Logoff
Set objMessage = Nothing
Set objSession = Nothing
Set objFolders = objNS.Folders

For Each rtnFolder In objFolders
strMailbox = rtnFolder.Name

If strMailbox = "Mailbox - " &
objItem.SentOnBehalfOfName Then
Set objSentItems =
objNS.Folders(strMailbox).Folders("Sent Items")
objItem.Move objSentItems
Set objSentItems = Nothing
Exit For
End If
Next
Set objFolders = Nothing
End If
Set objNS = Nothing
Set objItem = Nothing
End If
End Sub

"Dmitry Streblechenko" wrote in message
...
How exactly do you associate an SMTP account with the store? Do you
set where the messages will be delivered in Tools | Accounts?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Thank you for replying Mark McGinty,

Forgetting about the PST file - you have it right that I want to move
the sent items to the "proper" (SentOnBehalfOfName) account - but I
want to accomplish this as the items are being sent, and not have to
hard-code the folder name.

This is a very easy task if I wanted to hardcode the folder name, but
as I have stated in previous posts - I have already accomplished this
in an Exchange environment, but in a "PST" environment the user can
change the Account Name - making SentOnBehalfOfName useless.

Thank you for any insites,

"Mark McGinty" wrote in message
...

"JHP" wrote in message
...
Maybe I need supply more information?

I am trying to determine if a sent email (from address) belongs to
an existing (visible) mailbox...

Lets say I have multiple accounts (PST files as I already have
Exchange folders working) setup - I want to be able to determine
which account the email was sent from.

I don't want to have to hard-code the folder name (Select Case to
match address to folder) as a (PST) mailbox can be renamed.

I thought of using StoreID but a sent email (Parent.StoreID) takes
on the Default account's ID.

Any help would be greatly appreciated,

I'm still a little unclear as to what you're trying to do. You are
talking about an Outlook profile that is configured to sync with
multiple POP3 accounts, correct? It seems like you are inferring
that each POP3 account logically maps to a separate .PST file --
that is not the case. Mail from all POP3 accounts is delivered to a
single Inbox folder in a single .PST.

When you have multiple configured POP3 accounts you may choose which
you want to send from, when composing; by default the from address
for a reply is dictated by the account on which it was received (but
it is still user-selectable.)

If what you want to do is separate the items in Sent Items,
according to the POP3 account from which it was sent, I think you
could get that by reading the PR_SENDER_EMAIL_ADDRESS property
(using extended MAPI or Redemption) and move the item accordingly.
But a separate destination corresponding to each POP3 will not
already exist, you'll have to create them yourself (presumably as
folders under Sent Items -- as a user I personally would be
disenchanted by an AddIn that created a bunch of .PST files like
that.)


-Mark




"JHP" wrote in message
...
I've written a Macro that moves sent email to the proper Mailbox
without hard-coding Mailbox name; working great with Exchange
Accounts, but if this same approch is used with PST Accounts...

I don't know how (where to begin) to match the Sent mail to the
correct folder, as the folder name can be renamed and may not
match the SentOnBehalfOfName?

Thank you for any assistance,



















Ads
  #12  
Old May 24th 09, 04:36 PM posted to microsoft.public.outlook.program_vba
Dmitry Streblechenko
external usenet poster
 
Posts: 2,116
Default Sent Items

You cannot get to the acount-specific Sent Items folder using the Outlook
Object Model alone - you would need to use either Extended MAPI
(IOlkAccountMgr object) or plug Redemption: use RDOPOP3Account object and
its DeliverToStore, DeliverToFolder, SaveSentMessageFolder properties -
http://www.dimastr.com/redemption/rd...RDOPOP3Account /plug

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
I will be using the GAL for my Exchange accounts, but outside of work I
need to access POP3/SMTP accounts.

So the short answer is POP3/SMTP.

Thank you (hope I haven't left this to long?),

"Dmitry Streblechenko" wrote in message
...
So do you want to access POP3/SMTP accounts or use the Exchange
mailboxes?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Just getting back to this:

Again thank you for your expertise, I really appreciate you taking the
time here... really!

Is it possible to access that information the way Outlook does
(POP3/SMTP) via script?

I really like the idea of using the GAL - thank you.


"Dmitry Streblechenko" wrote in message
...
Email does not know that, but Outlook does. For the POP3/SMTP accounts,
that information is tored along with the other account related
information, such as the names of the servers.
In case of Exchanage, you would need to read the entry id of the GAL
user, open the user's Sent Items foleer using
Namespace.GetSharedDefaultFolder, then move the message there.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Yes - under User Information - E-mail Address.

If you reverse the process... how does an incoming email know to go to
a particular folder (Account); I would like to know that logic and
apply it here.

When I send an email as someone else I want to move the mail item to
the correct Sent Items folder (if it exists in the current profile),
but I don't want to hard code the Folder Name to the Sender Name as
the folder name may change.

The following is what I did for our Exchange environment
(ThisOutlookSession):

Private WithEvents sentItems As Items

Private Sub Application_Startup()
Dim objNS As NameSpace
Dim objRecipient As Recipient
Dim objFolder As MAPIFolder

Set objNS = Me.GetNamespace("MAPI")
Set objRecipient = objNS.CreateRecipient(objNS.CurrentUser.Address)
objRecipient.Resolve

If objRecipient.Resolved Then
Set objFolder = objNS.GetDefaultFolder(olFolderSentMail)
Set sentItems = objFolder.Items
Set objFolder = Nothing
Else
MsgBox ("Error: Name Not Resolved - Please Contact Your
Administrator")
End If
Set objRecipient = Nothing
Set objNS = Nothing
End Sub

Private Sub sentItems_ItemAdd(ByVal Item As Object)
Dim objItem As Outlook.MailItem
Dim objNS As NameSpace
Const g_PR_SMTP_ADDRESS_W = &H39FE001F

If (TypeOf Item Is Outlook.MailItem) Then
Set objItem = Item
Set objNS = Me.GetNamespace("MAPI")

If objNS.CurrentUser.Name objItem.SentOnBehalfOfName And
objNS.CurrentUser.Name objNS.CurrentUser.Address Then
strEntryID = objItem.EntryID
strStoreID = objItem.Parent.StoreID
Set objSession = CreateObject("MAPI.Session")
objSession.Logon "", "", False, False
Set objMessage = objSession.GetMessage(strEntryID,
strStoreID)
strAddress = objMessage.Sender.Address

If Not InStr(strAddress, "@") Then
On Error Resume Next
strAddress =
objMessage.Sender.Fields(g_PR_SMTP_ADDRESS_W).Valu e
End If
objSession.Logoff
Set objMessage = Nothing
Set objSession = Nothing
Set objFolders = objNS.Folders

For Each rtnFolder In objFolders
strMailbox = rtnFolder.Name

If strMailbox = "Mailbox - " &
objItem.SentOnBehalfOfName Then
Set objSentItems =
objNS.Folders(strMailbox).Folders("Sent Items")
objItem.Move objSentItems
Set objSentItems = Nothing
Exit For
End If
Next
Set objFolders = Nothing
End If
Set objNS = Nothing
Set objItem = Nothing
End If
End Sub

"Dmitry Streblechenko" wrote in message
...
How exactly do you associate an SMTP account with the store? Do you
set where the messages will be delivered in Tools | Accounts?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Thank you for replying Mark McGinty,

Forgetting about the PST file - you have it right that I want to
move the sent items to the "proper" (SentOnBehalfOfName) account -
but I want to accomplish this as the items are being sent, and not
have to hard-code the folder name.

This is a very easy task if I wanted to hardcode the folder name,
but as I have stated in previous posts - I have already accomplished
this in an Exchange environment, but in a "PST" environment the user
can change the Account Name - making SentOnBehalfOfName useless.

Thank you for any insites,

"Mark McGinty" wrote in message
...

"JHP" wrote in message
...
Maybe I need supply more information?

I am trying to determine if a sent email (from address) belongs to
an existing (visible) mailbox...

Lets say I have multiple accounts (PST files as I already have
Exchange folders working) setup - I want to be able to determine
which account the email was sent from.

I don't want to have to hard-code the folder name (Select Case to
match address to folder) as a (PST) mailbox can be renamed.

I thought of using StoreID but a sent email (Parent.StoreID) takes
on the Default account's ID.

Any help would be greatly appreciated,

I'm still a little unclear as to what you're trying to do. You are
talking about an Outlook profile that is configured to sync with
multiple POP3 accounts, correct? It seems like you are inferring
that each POP3 account logically maps to a separate .PST file --
that is not the case. Mail from all POP3 accounts is delivered to a
single Inbox folder in a single .PST.

When you have multiple configured POP3 accounts you may choose
which you want to send from, when composing; by default the from
address for a reply is dictated by the account on which it was
received (but it is still user-selectable.)

If what you want to do is separate the items in Sent Items,
according to the POP3 account from which it was sent, I think you
could get that by reading the PR_SENDER_EMAIL_ADDRESS property
(using extended MAPI or Redemption) and move the item accordingly.
But a separate destination corresponding to each POP3 will not
already exist, you'll have to create them yourself (presumably as
folders under Sent Items -- as a user I personally would be
disenchanted by an AddIn that created a bunch of .PST files like
that.)


-Mark




"JHP" wrote in message
...
I've written a Macro that moves sent email to the proper Mailbox
without hard-coding Mailbox name; working great with Exchange
Accounts, but if this same approch is used with PST Accounts...

I don't know how (where to begin) to match the Sent mail to the
correct folder, as the folder name can be renamed and may not
match the SentOnBehalfOfName?

Thank you for any assistance,





















  #13  
Old May 28th 09, 09:27 PM posted to microsoft.public.outlook.program_vba
JHP
external usenet poster
 
Posts: 8
Default Sent Items

Thank you so much for taking the time to enlighten - very much
appreciated...

"Dmitry Streblechenko" wrote in message
...
You cannot get to the acount-specific Sent Items folder using the Outlook
Object Model alone - you would need to use either Extended MAPI
(IOlkAccountMgr object) or plug Redemption: use RDOPOP3Account object
and its DeliverToStore, DeliverToFolder, SaveSentMessageFolder
properties -
http://www.dimastr.com/redemption/rd...RDOPOP3Account
/plug

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
I will be using the GAL for my Exchange accounts, but outside of work I
need to access POP3/SMTP accounts.

So the short answer is POP3/SMTP.

Thank you (hope I haven't left this to long?),

"Dmitry Streblechenko" wrote in message
...
So do you want to access POP3/SMTP accounts or use the Exchange
mailboxes?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Just getting back to this:

Again thank you for your expertise, I really appreciate you taking the
time here... really!

Is it possible to access that information the way Outlook does
(POP3/SMTP) via script?

I really like the idea of using the GAL - thank you.


"Dmitry Streblechenko" wrote in message
...
Email does not know that, but Outlook does. For the POP3/SMTP
accounts, that information is tored along with the other account
related information, such as the names of the servers.
In case of Exchanage, you would need to read the entry id of the GAL
user, open the user's Sent Items foleer using
Namespace.GetSharedDefaultFolder, then move the message there.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Yes - under User Information - E-mail Address.

If you reverse the process... how does an incoming email know to go
to a particular folder (Account); I would like to know that logic and
apply it here.

When I send an email as someone else I want to move the mail item to
the correct Sent Items folder (if it exists in the current profile),
but I don't want to hard code the Folder Name to the Sender Name as
the folder name may change.

The following is what I did for our Exchange environment
(ThisOutlookSession):

Private WithEvents sentItems As Items

Private Sub Application_Startup()
Dim objNS As NameSpace
Dim objRecipient As Recipient
Dim objFolder As MAPIFolder

Set objNS = Me.GetNamespace("MAPI")
Set objRecipient =
objNS.CreateRecipient(objNS.CurrentUser.Address)
objRecipient.Resolve

If objRecipient.Resolved Then
Set objFolder = objNS.GetDefaultFolder(olFolderSentMail)
Set sentItems = objFolder.Items
Set objFolder = Nothing
Else
MsgBox ("Error: Name Not Resolved - Please Contact Your
Administrator")
End If
Set objRecipient = Nothing
Set objNS = Nothing
End Sub

Private Sub sentItems_ItemAdd(ByVal Item As Object)
Dim objItem As Outlook.MailItem
Dim objNS As NameSpace
Const g_PR_SMTP_ADDRESS_W = &H39FE001F

If (TypeOf Item Is Outlook.MailItem) Then
Set objItem = Item
Set objNS = Me.GetNamespace("MAPI")

If objNS.CurrentUser.Name objItem.SentOnBehalfOfName And
objNS.CurrentUser.Name objNS.CurrentUser.Address Then
strEntryID = objItem.EntryID
strStoreID = objItem.Parent.StoreID
Set objSession = CreateObject("MAPI.Session")
objSession.Logon "", "", False, False
Set objMessage = objSession.GetMessage(strEntryID,
strStoreID)
strAddress = objMessage.Sender.Address

If Not InStr(strAddress, "@") Then
On Error Resume Next
strAddress =
objMessage.Sender.Fields(g_PR_SMTP_ADDRESS_W).Valu e
End If
objSession.Logoff
Set objMessage = Nothing
Set objSession = Nothing
Set objFolders = objNS.Folders

For Each rtnFolder In objFolders
strMailbox = rtnFolder.Name

If strMailbox = "Mailbox - " &
objItem.SentOnBehalfOfName Then
Set objSentItems =
objNS.Folders(strMailbox).Folders("Sent Items")
objItem.Move objSentItems
Set objSentItems = Nothing
Exit For
End If
Next
Set objFolders = Nothing
End If
Set objNS = Nothing
Set objItem = Nothing
End If
End Sub

"Dmitry Streblechenko" wrote in message
...
How exactly do you associate an SMTP account with the store? Do you
set where the messages will be delivered in Tools | Accounts?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"JHP" wrote in message
...
Thank you for replying Mark McGinty,

Forgetting about the PST file - you have it right that I want to
move the sent items to the "proper" (SentOnBehalfOfName) account -
but I want to accomplish this as the items are being sent, and not
have to hard-code the folder name.

This is a very easy task if I wanted to hardcode the folder name,
but as I have stated in previous posts - I have already
accomplished this in an Exchange environment, but in a "PST"
environment the user can change the Account Name - making
SentOnBehalfOfName useless.

Thank you for any insites,

"Mark McGinty" wrote in message
...

"JHP" wrote in message
...
Maybe I need supply more information?

I am trying to determine if a sent email (from address) belongs
to an existing (visible) mailbox...

Lets say I have multiple accounts (PST files as I already have
Exchange folders working) setup - I want to be able to determine
which account the email was sent from.

I don't want to have to hard-code the folder name (Select Case to
match address to folder) as a (PST) mailbox can be renamed.

I thought of using StoreID but a sent email (Parent.StoreID)
takes on the Default account's ID.

Any help would be greatly appreciated,

I'm still a little unclear as to what you're trying to do. You
are talking about an Outlook profile that is configured to sync
with multiple POP3 accounts, correct? It seems like you are
inferring that each POP3 account logically maps to a separate .PST
file -- that is not the case. Mail from all POP3 accounts is
delivered to a single Inbox folder in a single .PST.

When you have multiple configured POP3 accounts you may choose
which you want to send from, when composing; by default the from
address for a reply is dictated by the account on which it was
received (but it is still user-selectable.)

If what you want to do is separate the items in Sent Items,
according to the POP3 account from which it was sent, I think you
could get that by reading the PR_SENDER_EMAIL_ADDRESS property
(using extended MAPI or Redemption) and move the item accordingly.
But a separate destination corresponding to each POP3 will not
already exist, you'll have to create them yourself (presumably as
folders under Sent Items -- as a user I personally would be
disenchanted by an AddIn that created a bunch of .PST files like
that.)


-Mark




"JHP" wrote in message
...
I've written a Macro that moves sent email to the proper Mailbox
without hard-coding Mailbox name; working great with Exchange
Accounts, but if this same approch is used with PST Accounts...

I don't know how (where to begin) to match the Sent mail to the
correct folder, as the folder name can be renamed and may not
match the SentOnBehalfOfName?

Thank you for any assistance,























 




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
delete button doesn't move items to deleted items folder Anne Outlook - Installation 4 April 16th 09 02:46 PM
how to retain 10 days items in Outlook 2003 deleted items folder? Balthazar Outlook - Installation 2 June 7th 06 04:05 PM
Auto Empty Deleted Items on Exit OR after X days or X Items accumulated? JDJ Outlook - General Queries 2 May 30th 06 10:48 PM
Reading mails from Sent items, Deleted items, Draft folder of outlook from VB6.0 Viswanathan Outlook - General Queries 8 May 26th 06 04:31 PM
Inbox, Sent Items & Outbox in Deleted Items in Outlook 2003 & OWA with Exchange splounx Outlook - General Queries 1 February 17th 06 02:22 AM


All times are GMT +1. The time now is 02:45 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2025 Outlook Banter.
The comments are property of their posters.