View Single Post
  #4  
Old February 10th 09, 07:10 PM posted to microsoft.public.outlook.program_addins
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default How to log into my mailbox on Exchange

You never want to install Outlook on an Exchange box, it's a real good way
to mess up both.

Running on a server, Outlook code really isn't a good idea. First you have
to have Outlook installed there. Second, the Outlook code there has to run
in a different context than it would on a client, so you need to have
permissions and profiles set up for every mailbox you want to log into, or
you need the profile on the server to have permissions to log into all the
relevant mailboxes and use the NameSpace.GetSharedDefaultFolder() method to
access the alternate mailboxes.

If you use different profiles the code must log into Outlook, prompt for
profile to use, do its work, then exit Outlook and log into another mailbox.

Using GetSharedDefaultFolder() allows you do one Outlook logon using the
existing Outlook profile there and then use the method to access default
folders in those other mailboxes.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Derick Swart" wrote in message
...[i]
Thanks Ken. Sorry for the poor formulation.

I am working with Outlook 2007 items via an intranet application (Asp.NET
3.5). I have read Microsoft's cautionery notes.

On my own machine it works fine (snippet below), but when deployed to the
server it is obviously not going to work as is currently the case. I
would have to log onto Exchange, I suppose?

(Outlook is not installed on the Exchange box - our platform people tell
me this is not possible).

Thank you for your time.

Regards,
Derick

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Microsoft.Office.Interop.Outlook.Application app = null;
Microsoft.Office.Interop.Outlook._NameSpace ns = null;
Microsoft.Office.Interop.Outlook.MailItem item = null;
Microsoft.Office.Interop.Outlook.MAPIFolder inboxFolder = null;
Microsoft.Office.Interop.Outlook.MAPIFolder subFolder = null;

try
{
app = new Microsoft.Office.Interop.Outlook.Application();
ns = app.GetNamespace("MAPI");
ns.Logon(null, null, false, false);

inboxFolder =
ns.GetDefaultFolder(Microsoft.Office.Interop.Outlo ok.OlDefaultFolders.olFolderInbox);
subFolder = inboxFolder.Folders["Persoonlik"];
//folder.Folders[1]; also works
Response.Write("Folder Name: " + subFolder.Name + " EntryId" +
subFolder.EntryID);
Response.Write("Num Items: " +
subFolder.Items.Count.ToString());

for (int i = 1; i = 6; i++) //i = subFolder.Items.Count
{
item =
(Microsoft.Office.Interop.Outlook.MailItem)subFold er.Items;
Response.Write("Item: " + i.ToString());
Response.Write("Subject: " + item.Subject);
Response.Write("Sent: " + item.SentOn.ToLongDateString() +
"," + item.SentOn.ToLongTimeString());
Response.Write("Categories: " + item.Categories);
Response.Write("Body: " + item.Body);
Response.Write("HTMLBody: " + item.HTMLBody);
}
}
catch (System.Runtime.InteropServices.COMException ex)
{
Response.Write(ex.ToString());
}
finally
{
ns = null;
app = null;
inboxFolder = null;
}
}
}


Ads