Как получить адрес электронной почты отправителя из Outlook 2007
Я работаю над проектом надстройки Outlook, используя Visual Studio 2008 для MS Outlook 2007 в C#. Здесь я объясняю свою проблему...
Я получил несколько учетных записей (3 учетных записи) с моим outlook 2007. Мне нужно получить учетные записи из окна учетной записи в окне "Новое почтовое сообщение". Когда мы нажимаем "Новое почтовое сообщение", появляется новое окно, из которого мы можем отправить новое письмо. Здесь (в этом окне) мы видим раскрывающийся список учетных записей (слева) под кнопкой отправки. Если у нас есть несколько учетных записей с outlook, мы можем увидеть все учетные записи в раскрывающемся списке, если мы нажмем на поле "Учетная запись". Если щелкнуть конкретное электронное письмо, в учетной записи электронной почты появится правая отметка, и в верхней части кнопки "Отправить" можно увидеть сообщение "Это сообщение будет отправлено по адресу xyz@gmail.com".
Итак, я хочу получить эти учетные записи электронной почты в строку, а конкретную учетную запись электронной почты (которая имеет метку справа) в другую строку. Я получил эти 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;
}
Я могу получить все учетные записи из приведенного выше кода. Но я просто хочу получить адрес электронной почты, который мы будем использовать для отправки электронного письма в данный конкретный момент..
2 ответа
Проверьте свойство MailItem SendUsingAccount Или вы можете получить его из имени окна, как вы говорите.
Маркус
Решение легко:
...
your code
...
foreach (Outlook.Account account in myAccounts)
{
string emailAddress = account.CurrentUser.AddressEntry.Address;
}
Электронная почта хранится в свойствах AddressEntry, под объектом CurretUser. Этот объект находится под учетной записью - как просто:-)