Solved

C# Issue with using Outlook MAPI

Posted on 2010-08-23
2
1,830 Views
Last Modified: 2013-12-17
Hi,

Below is some pretty standard code I am using to create and login to an outlook MAPI object.

The problem is no matter what I try it always logs into my current context account (my account logged into windows) not the account I have specified at login.

The specified logins I am providing are definately correct, but the password is different here ;)

Thanks,

Xavier.
UserEmail = @"iq@epicentre.com.au";
			UserName = @"EPICENTRE\iq";
			UserPass = @"!mN0773ll!ng";

			// Create the Outlook application.
			oApp = new Microsoft.Office.Interop.Outlook.Application();
            //<--- I HAVE TRIED DOING THE LOGIN HERE
            oApp.Session.Logon(UserName, UserPass, false, false);

			// Get the NameSpace and Logon information.
			oNS = oApp.GetNamespace("mapi");

            //<--- I HAVE TRIED DOING THE LOGIN HERE AS WELL.
			//oNS.Logon(UserName, UserPass, false, false);
            
            inboxFolder = oNS.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
            //inboxFolder.Application.NewMail += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_NewMailEventHandler(Application_NewMail);
            inboxFolder.Application.NewMailEx += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_NewMailExEventHandler(Application_NewMailEx);

Open in new window

0
Comment
Question by:locdang
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 41

Expert Comment

by:graye
ID: 33558807
Take a look at this article that shows how to login to an outlook session:
http://msdn.microsoft.com/en-us/library/ff462097.aspx 

' If not, create a new instance of Outlook and log on to the default profile.
application = New Outlook.Application()
Dim ns As Outlook.NameSpace = application.GetNamespace("MAPI")
ns.Logon("", "", Missing.Value, Missing.Value)
ns = Nothing

Open in new window

0
 
LVL 1

Accepted Solution

by:
locdang earned 0 total points
ID: 33563092
That won't work as I need to login to a specific profile, not the default one. My problem is despite me supplying credentials it still uses the default profile.

I have written a IMAP class insted and thus have bypassed  the need for the outlook objects compeletely.
0

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question