2013-09-04 16 views
5

Devo essere in grado di ottenere l'indirizzo email dell'utente attualmente connesso con il codice C#.Ottieni l'indirizzo email di Outlook tramite C#

Mi serve l'indirizzo completo e non solo l'account di posta elettronica presunto (ad es. [email protected]), anche se questo funzionerà per la maggior parte dei client.

Qualsiasi aiuto sarà molto apprezzato.

+0

temo non ho un tentativo al momento l'unico riferimento che ho trovato era vb e hanno bisogno di un punto nella giusta direzione –

+0

Quasi tutti VB i costrutti possono essere convertiti in C# abbastanza facilmente - anche dare un'occhiata a SO, domande come http://stackoverflow.com/questions/4761521/get-the-email-address-of-the-current-user-in-outlook- 2007 potrebbe applicare per te – jdphenix

risposta

5

Prova questo, da http://msdn.microsoft.com/en-us/library/ff462091.aspx:

using System; 
using System.Text; 
using Outlook = Microsoft.Office.Interop.Outlook; 

namespace OutlookAddIn1 
{ 
    class Sample 
    { 
     public static void DisplayAccountInformation(Outlook.Application application) 
     { 

      // The Namespace Object (Session) has a collection of accounts. 
      Outlook.Accounts accounts = application.Session.Accounts; 

      // Concatenate a message with information about all accounts. 
      StringBuilder builder = new StringBuilder(); 

      // Loop over all accounts and print detail account information. 
      // All properties of the Account object are read-only. 
      foreach (Outlook.Account account in accounts) 
      { 

       // The DisplayName property represents the friendly name of the account. 
       builder.AppendFormat("DisplayName: {0}\n", account.DisplayName); 

       // The UserName property provides an account-based context to determine identity. 
       builder.AppendFormat("UserName: {0}\n", account.UserName); 

       // The SmtpAddress property provides the SMTP address for the account. 
       builder.AppendFormat("SmtpAddress: {0}\n", account.SmtpAddress); 

       // The AccountType property indicates the type of the account. 
       builder.Append("AccountType: "); 
       switch (account.AccountType) 
       { 

        case Outlook.OlAccountType.olExchange: 
         builder.AppendLine("Exchange"); 
         break; 

        case Outlook.OlAccountType.olHttp: 
         builder.AppendLine("Http"); 
         break; 

        case Outlook.OlAccountType.olImap: 
         builder.AppendLine("Imap"); 
         break; 

        case Outlook.OlAccountType.olOtherAccount: 
         builder.AppendLine("Other"); 
         break; 

        case Outlook.OlAccountType.olPop3: 
         builder.AppendLine("Pop3"); 
         break; 
       } 

       builder.AppendLine(); 
      } 

      // Display the account information. 
      System.Windows.Forms.MessageBox.Show(builder.ToString()); 
     } 
    } 
} 
+1

meraviglioso grazie stavo usando lo script corretto e questo riferimento ha aiutato molto semplice problema di non includere i riferimenti corretti non dimenticherò che uno =) –

Problemi correlati