2010-03-16 4 views
1

나는 Outlook 2002 for C#의Visual Studio 2008을 사용하여 Outlook 추가 기능 프로젝트를 진행 중입니다. 여기에 내 문제를 설명하고 있습니다 ...Outlook 2007에서 보내는 전자 메일 주소를 얻는 방법

Outlook 2007에 여러 계정 (3 계정)이 있습니다. 계정을 새 메일 메시지 창에서 계정 상자에 입력해야합니다. 새 메일 메시지를 클릭하면 새 메일을 보낼 수있는 새 창이 열립니다. 여기 (이 창에서) 보내기 버튼 아래에 계정 드롭 다운 (왼쪽 쪽)이 있습니다. Outlook이 여러 개인 계정이있는 경우 은 계정 상자를 클릭하면 계정 드롭 다운의 모든 계정을 볼 수 있습니다. 특정 전자 메일을 클릭하면 해당 전자 메일에 전자 메일 주소가 표시되고 보내기 단추 상단에 메시지가 표시 될 수 있습니다. "이 메시지는 [email protected]을 통해 전송됩니다."

그래서이 이메일 계정을 문자열로 가져오고 해당 이메일 계정 (오른쪽 표시가 있음)을 다른 문자열로 가져 오려고합니다. 이 3 개의 이메일 계정을 하나의 문자열로 가져 왔습니다. 그러나 나는 특정 이메일 계정 (새로운 이메일을 보낼 때 올바른 표시가 있음)을 에게주지 않습니다. 이 코드를 사용하고

.... 내가 code..But 위의 모든 계정을 얻을 수 있어요

using Outlook = Microsoft.Office.Interop.Outlook; 

using Office = Microsoft.Office.Core; 

using Microsoft.Office.Interop.Outlook; 

Outlook._Application myOutlookApp = new Outlook.Application(); 

Outlook.Accounts myAccounts = myOutlookApp.Session.Accounts; 

foreach (Outlook.Account account in myAccounts) 
        { 
         string emailAddress = account.SmtpAddress; 
        } 

, 나는 단지 우리가 보내는 데 사용하는 이메일 주소를 얻으려면 그 특별한 순간에 이메일로 ..

+0

1과 0이있는 버튼 (0101)을 사용하면 코드를 포맷 할 수 있습니다. – Fionnuala

답변

1

체크 아웃 MailItem SendUsingAccount 속성 아니면 당신이 말하는대로 창 이름에서 잡을 수 있습니다.

마커스

1

해결책은 간단하다

... 
your code 
... 

    foreach (Outlook.Account account in myAccounts) 
         { 
          string emailAddress = account.CurrentUser.AddressEntry.Address; 
         } 

이메일은 CurretUser 개체 아래, AddressEntry의 때에 프로퍼티에 저장됩니다. 해당 객체가 고려 중입니다. 얼마나 간단한 지 :

관련 문제