如何从Outlook 2007中获取发送电子邮件地址

问题描述:

我正在使用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

结帐MailItem SendUsingAccount财产 或者你可以从你的窗口名称抓住它,如你所说。

马库斯

解决方案很简单:

... 
your code 
... 

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

电子邮件存储在AddressEntry属性格式,下CurretUser对象。该对象是在帐户 - 多么简单:-)