2011-06-02 12 views
9

मेरे वीएसटीओ आउटलुक 2007 प्लग-इन में, मैं एक प्राप्तकर्ता का ईमेल पता प्राप्त करने में सक्षम हूं जो एक एक्सचेंज उपयोगकर्ता है। लेकिन जब मेरे पास निम्न मामला है, तो यह मुझे smtp ईमेल वापस नहीं करता है:एक प्राप्तकर्ता का ईमेल पता प्राप्त करना जो एक विनिमय उपयोगकर्ता है

  1. एक नया Outlook संपर्क आइटम (Outlook संपर्कों में) जोड़ें।
  2. इस संपर्क आइटम का ईमेल पता एक विनिमय उपयोगकर्ता (आपके संगठन का कोई भी व्यक्ति, लेकिन यह एक एक्सचेंज उपयोगकर्ता है) का ईमेल होना चाहिए।
  3. अब जब मैं ईमेल प्राप्तकर्ता के रूप में इस Outlook संपर्क का चयन करता हूं और आइटम भेजता हूं तो मुझे smtp पता नहीं मिल सकता है।

नीचे मेरी कोड है:

Recipient r = mailItem.Recipients[i]; 
r.Resolve(); 
//Note, i have different conditions that check the AddressEntryUserType of recipient's 
//address entry object. All other cases work fine. In this case this is 
//olOutlookContactAddressEntry. 
//I have tried the following: 

ContactItem cont = r.AddressEntry.GetContact(); 
string email = cont.Email1Address; 
string emailtmp = r.AddressEntry.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x800F101E") as string; 

किसी को भी मुझे क्या संपत्ति मैं इस मामले में इस्तेमाल करना चाहिए smtp ईमेल प्राप्त करने के बारे में मदद सकते हैं?

+0

मैं भी इस समस्या हो रही है और एक ईमेल या नियुक्ति आइटम पर प्राप्तकर्ताओं से एक SMTP पता नहीं कर सकते। मुझे ऐसा पता मिल सकता है जो इस तरह दिखता है - 'पता = "/ o = INCORPORATION/ou = एक्सचेंज प्रशासनिक समूह (XXXXXXXXXXXX)/सीएन = प्राप्तकर्ता/सीएन = उपयोगकर्ता नाम" ' – kavun

उत्तर

0

यदि मुझे सही ढंग से याद किया गया है, तो ऐसे कई उदाहरण थे जहां ईमेल पते तब तक हल नहीं होंगे जब तक कि आप आइटम को पहले भेजा नहीं जाता था। आप कोशिश कर सकते हैं। साथ ही, क्या आपको कोई "सुरक्षा उल्लंघन" संदेश नहीं मिल रहा है, जो उपयोगकर्ता की पता पुस्तिका तक पहुंचने की अनुमति मांग रहा है, या आपने उन सभी चीजों के आसपास अक्षम/काम किया है? मेरे पास बहुत सारी जांच थीं जो कि दृष्टिकोण के लिए रिडेम्प्शन का उपयोग करने की आवश्यकता थी।

+0

वास्तव में मैं Outlook की एड्रेसबुक तक नहीं पहुंच रहा हूं। यह मेल आइटम का प्राप्तकर्ता ऑब्जेक्ट है जिसे मैं ईमेल पते तक पहुंचने का प्रयास कर रहा हूं। इसके अलावा, प्राप्तकर्ता के ईमेल पते तक पहुंचने से पहले संपर्क आइटम पहले ही सहेजा जा चुका है। –

4

मुझे एक्सचेंज यूज़र आइटम का उपयोग करने और उस ऑब्जेक्ट के माध्यम से smtp पते को हल करने का एक तरीका मिला है। इस पोस्ट में मदद की - Get Smtp email from ContactInfo stored in Exchange

foreach (Outlook.Recipient recipient in currentAppointment.Recipients) 
    { 
     Outlook.ExchangeUser exchangeUser = recipient.AddressEntry.GetExchangeUser(); 
     string smtpAddress; 
     if (exchangeUser != null) 
     { 
      smtpAddress = exchangeUser.PrimarySmtpAddress; 
     } 
     else 
     { 
      smtpAddress = recipient.Address; 
     } 
    } 
+1

GetExchangeUser() को लगातार विनिमय कनेक्शन की आवश्यकता है –

+1

मेरे पास एक एक्सचेंज संपर्क है जहां GetExchangeUser शून्य लौटाता है। अभी भी प्राप्तकर्ता। एड्रेस में यह wirde/o = FIRM/ou = कुछ समूह/cn = f.name है। – lokimidgard

संबंधित मुद्दे