2010-03-16 1 views
1

Je travaille sur un projet de compléments Outlook en utilisant Visual Studio 2008 pour MS Outlook 2007 en C#. Ici j'explique mon problème ...Comment obtenir l'adresse e-mail d'envoi à partir de Outlook 2007

J'ai eu plusieurs comptes (3 comptes) avec mon outlook 2007. Je dois obtenir le compte de compte dans la boîte de dialogue New Mail Message. Lorsque nous cliquons sur Nouveau message, une nouvelle fenêtre apparaîtra à partir de laquelle nous pourrons envoyer un nouveau message. Ici (Sur cette fenêtre) nous pouvons voir Compte Dropdown (côté gauche ) sous le bouton Envoyer. Si nous avons plusieurs comptes avec des perspectives, nous pouvons voir tous les comptes dans la liste déroulante de compte si nous cliquons sur la boîte de compte. Si nous cliquons sur l'email particulier, une marque de droite apparaîtra à cet Email Compte et un message peut être vu sur le dessus du bouton Envoyer est "Ce message sera envoyé via [email protected]". Donc, je veux obtenir ces comptes de messagerie dans une chaîne et ce compte de messagerie particulier (qui a une bonne marque) dans une autre chaîne. J'ai eu ces 3 comptes email dans une chaîne. Mais, je ne reçois pas le compte e-mail particulier (qui a la bonne marque lorsque nous envoyons un nouveau courriel).

J'utilise ce code ....

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

Je suis en mesure d'obtenir tous les comptes de ce qui précède code..But, je veux juste obtenir l'adresse e-mail que nous utiliserons pour l'envoi un e-mail à ce moment particulier ..

+0

Le bouton avec 1s et 0s (0101) vous permet de formater le code. – Fionnuala

Répondre

1

Check out MailItem SendUsingAccount propriété Ou vous pouvez l'attraper à partir du nom de la fenêtre comme vous le dites.

Marcus

1

solution est facile:

... 
your code 
... 

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

Email est stocké dans AddressEntry propery, sous objet CurretUser. Cet objet est en compte - comment simple :-)

Questions connexes