2010-03-16 251 views
1

我正在使用Visual Studio 2008爲Outlook中的Outlook 2007 C#中的Outlook 012添加Outlook項目。我在這裏解釋我的問題...如何從Outlook 2007中獲取發送電子郵件地址

我用Outlook 2007獲得了多個帳戶(3個帳戶)。我需要在New Mail Message窗口中獲得 帳戶框。 當我們點擊新郵件信息時,會出現一個新窗口,我們可以通過這個窗口 發送一封新郵件。在這裏(在此窗口中),我們可以在發送按鈕下看到賬戶下拉(左側 一側)。如果我們有多個outlook帳戶,我們 可以看到帳戶下拉列表中的所有帳戶,如果我們點擊帳戶框。如果 我們點擊特定的電子郵件,該電子郵件將出現一個正確的標記 帳戶,並且可以在發送按鈕的頂部看到一條消息是「This message will be sent via [email protected]」。

所以,我想要將這些電子郵件帳戶轉換爲一個字符串,並將該特定的 電子郵件帳戶(它具有正確的標記)轉換爲另一個字符串。 我將這3個電子郵件帳戶轉換爲字符串。但是,我沒有得到 特定的電子郵件帳戶(當我們發送新電子郵件時,該帳戶有正確的標記)。

我使用此代碼....

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; 
        } 

我能夠從上面code..But得到所有的賬目,我只是想,我們將用於發送電子郵件地址一個電子郵件在那個特定的時刻..

+0

1s和0s按鈕(0101)允許您格式化代碼。 – Fionnuala 2010-03-16 10:09:48

回答

1

結帳MailItem SendUsingAccount財產 或者你可以從你的窗口名稱抓住它,如你所說。

馬庫斯

1

解決方案很簡單:

... 
your code 
... 

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

電子郵件存儲在AddressEntry屬性格式,下CurretUser對象。該對象是在帳戶 - 多麼簡單:-)

相關問題