using VSTO to get Available Mailboxes

  • Thread starter Thread starter OutlookNewBie11
  • Start date Start date
O

OutlookNewBie11

Using VSTO and C# anyone know how to get a listing of availabl
mailboxes a user has on his default profile? I would imagine this to b
simple.
 
Outlook 2007..
I can get a list of 'folders" and filter them.. find ones with "Mailbox
-" ……..But.. is that the proper way?
Any other way?
Eventually I will need to send mail from any of the accounts a user has
access to.

So if Joe smith is the primary exchange account (Remember you can only
have 1 exchange account) and he has access to Billy Bobs email account
how can I programmatically know this? And then, if I type a new email
and click send I want to override the send button(Which I know how to
do) and ask which email account to send from.. But.. since there is
only ONE account setup this might be tricky..

Any help at all is appreciated.



'Ken Slovak - [MVP - Outlook said:
;314784']Outlook version?




"OutlookNewBie11" (e-mail address removed) wrote in
message
Using VSTO and C# anyone know how to get a listing of available
mailboxes a user has on his default profile? I would imagine this to
be
simple..
 
Use the Outlook 2007 Stores collection for that. It returns all opened
stores. The help on that method in the VBA Object Browser has examples of
how to get the default store and how to tell what mailboxes are primary and
secondary mailboxes.

NameSpace.Stores is all the loaded stores, NameSpace.DefaultStore is the
default one. Store.ExchangeStoreType returns olExchangeMailbox,
olExchangePublicFolder, olNotExchange and olPrimaryExchangeMailbox. That
should be exactly what you want.

You can set SendUsingAccount on a MailItem, but if there's only 1 account
(Exchange) that does you no good. So set the SendOnBehalfName property for
sending as another mailbox. For example, if I want to send something as my
sales mailbox I just use that in that property, and as I have SendAs
permissions for that mailbox it goes out from sales. Without SendAs
permissions you get a Sent on Behalf Of header instead of a change of From
address.
 
Ken Slovak - said:
Use the Outlook 2007 Stores collection for that. It returns all opened
stores. The help on that method in the VBA Object Browser has examples of
how to get the default store and how to tell what mailboxes are primary and
secondary mailboxes.

NameSpace.Stores is all the loaded stores, NameSpace.DefaultStore is the
default one. Store.ExchangeStoreType returns olExchangeMailbox,
olExchangePublicFolder, olNotExchange and olPrimaryExchangeMailbox. That
should be exactly what you want.

You can set SendUsingAccount on a MailItem, but if there's only 1 account
(Exchange) that does you no good. So set the SendOnBehalfName property for
sending as another mailbox. For example, if I want to send something as my
sales mailbox I just use that in that property, and as I have SendAs
permissions for that mailbox it goes out from sales. Without SendAs
permissions you get a Sent on Behalf Of header instead of a change of From
address.
 
Hi Ken,

Can I get access to the task folders created in an exchange account in
outlook 2003 using the stores collection method? (This exhange one is
different from the default account). I'm getting only methods to add and
remove stores, so how could i do this for outlook 2003 using vsto? Any
guidence would be appreciated.
Thanks.
Ashok
 
Ken,

My main intention is to access that exchange mailbox (.pst account) and then
get access to the task folder list and then perform some action. How can I do
this ? I tried to check in the vba object browser and didnot get one to acess
this. If I'm not wrong then I have a query does outlook 2003 library exposes
any member method to acess any exchange acocunt in a mail box and then get
access to items in that like task folder or contacts...etc? Please guide me.
Cheers
Ashok
 
For an Exchange mailbox you must have permissions on that mailbox and it
should be opened as part of the Outlook profile if you want to access it
using the Stores collection. The mailbox is then loaded automatically when
you start Outlook.

For only a specific default folder in a mailbox in which you have
permissions you use the NameSpace.GetSharedDefaultFolder() method to get
access to that folder as a MAPIFolder (Folder for Outlook 2007). In that
case the Stores collection doesn't enter into it. AddStore() and
RemoveStore() are only for PST files.
 
See my other answer in this thread.

However, something you say here makes no sense. There is no such thing as an
Exchange mailbox that's a PST file. PST files are local storage and Exchange
mailboxes are stored on the server. They are not the same thing at all.
 
Hi Ken,

Thank you very much for your very prompt response, help and clarification
and sorry for my side delay. Actually my client has multiple mailbox setup in
outllok 2003 running on vista os. And I have to do some task managment
operation with the outlook task folders of 2/3 mail boxes what he has. I'm
using vsto for outlook 2003 dot net application. The access and control of
the default mailbox in client's outlook2003 I've done. But I'm not getting
how to get access to other mailboxes? Can you guide me in this what lib I can
use?

My understanding at this point of time is: The Stores collection of the
outlook namespace object gives me access to other mailboxes. and once I get
access to the 2nd /3rd mailbox then I can get access to the task folders in
that mail box. When I saw the outlook 2003 library does not have any methods
like Stores but Outlook 2007 library has it. so my confusion here is how to
get access to other mailboxes? I would greatly appreciate your help in this
regard.

Cheers
Ashok
 
In Outlook 2003 the NameSpace.Folders collection has all the loaded stores.
So you can iterate that to get at each of the already loaded delegate
mailboxes.
 
Thank you very much for your prompt guidence. I'm going to play with this.
I'll let you know the result. Thanks again for your help.

Cheers
Ashok
 
Back
Top