2013-09-04 39 views
5

Tôi cần có khả năng nhận địa chỉ email của người dùng hiện đang đăng nhập bằng mã C#.Nhận địa chỉ email Outlook qua C#

Tôi cần địa chỉ đầy đủ và không chỉ là tài khoản email giả định (ví dụ: [email protected]), mặc dù điều này sẽ làm việc cho hầu hết các khách hàng.

Mọi trợ giúp sẽ được đánh giá cao.

+0

Tôi sợ tôi không có một nỗ lực tại thời điểm tham chiếu duy nhất tôi có thể tìm thấy là vb và cần một điểm trong đúng hướng –

+0

Hầu như tất cả các VB cấu trúc có thể được chuyển đổi sang C# khá dễ dàng - cũng có một cái nhìn xung quanh SO, các câu hỏi như http://stackoverflow.com/questions/4761521/get-the-email-address-of-the-current-user-in-outlook- 2007 có thể áp dụng cho bạn – jdphenix

Trả lời

5

Hãy thử điều này, từ 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

cảm ơn tuyệt vời tôi đã sử dụng đúng tập lệnh và tham chiếu này đã giúp rất nhiều vấn đề đơn giản không bao gồm các tham chiếu chính xác sẽ không quên rằng một =) –