باستمرار استرداد "من" عناوين البريد الإلكتروني عبر Outlook الإصدارات

StackOverflow https://stackoverflow.com/questions/112227

  •  02-07-2019
  •  | 
  •  

سؤال

أنا أعمل مستقل c# تطبيق سطح المكتب الذي يرسل الوثائق ثم الواردات من التوقعات عند إرسالها مرة أخرى.تطبيق تلتقط رسائل البريد الإلكتروني من مجلد معين العمليات لهم ثم يحفظ المرسلين الاسم بالإضافة إلى أشياء أخرى إلى قاعدة البيانات.

هذا يعمل بشكل جيد لبرنامج Outlook 2003 و 2007 التي SenderEmailAddress الملكية.ومع ذلك Outlook 2000 و XP لا تملك هذه الخاصية و لن باستمرار عودة name@domain.com.أنا توفير الدعم لهذه الإصدارات.

لقد وجدت أن المكتبة يسمى Outlook الفداء حل هذه ولكن أنا النامية في .صافي حقا ترغب في تجنب الكتابة إلى سجلات العملاء.كما أنني وجدت MAPI33 أ .صافي التفاف حول MAPI ولكن من غير الواضح من المنتديات ما إذا كان لا يزال يجري معتمدة.

سوف نقدر أي مؤشرات إلى a .صافي بديل الفداء dll أو نهج إلى كونها قادرة على الدوام استرداد عنوان البريد الإلكتروني عبر Outlook الإصدارات.

شكرا جزيلا

AbsFabs

خاتمة: انتهى بي الأمر باستخدام محلول من هذه المادة http://support.microsoft.com/kb/324530.وهو يتألف من خلق رد ثم استخراج الرد إلى عنوان خلقت mailitem.انها عملت بشكل جيد بالنسبة رسائل البريد الإلكتروني المرسلة عبر الإنترنت حاليا يمر Exchange Server الاختبار.

أيضا وجدت هذا في رحلاتي http://anoriginalidea.wordpress.com/2008/01/11/getting-the-smtp-email-address-of-an-exchange-sender-of-a-mailitem-from-outlook-in-vbnet-vsto/ يبدو أن لمسة المعنية.هذا قد تشمل الخطة ب إذا الحالية التنفيذ لا البقاء على قيد الحياة اختبار.

شكرا على ملاحظاتك

AbsFabs

أنا في نهاية المطاف الجرح باستخدام الفداء.أداة ممتازة للحصول على الوظيفة.مشكلتي كانت مع الحاجة إلى تسجيل dll عندما كان التطبيق مثبتا.منذ التطبيق هو مكتوب في dotnet أنها لا تحتاج إلى تسجيل أي شيء.كنت قادرا على عمل حول تسجيل dll المشكلة باستخدام التسجيل-مجاني COM.

شكرا جزيلا على الإلهام الخاص بك.

هل كانت مفيدة؟

المحلول

أنا باستخدام Outlook الفداء حل في C# رمز الإنتاج.يعمل بشكل جميل.مع ذلك, يمكنك الحصول على هوية المرسل من رسالة البريد (IRDOMail) و من هناك يمكنك استخدام GetAddressEntryFromID() طريقة IRDOSession الكائن.

نصائح أخرى

في حين وجود مشكلة مماثلة في العمل ، قررنا الذهاب netMAPI الطريق التي قد تسبب بعض المشاكل.

المشكلة الرئيسية في ذلك هو أن MAPI تمكنت ذاكرة خاصة بها ، كما يفعل .صافي يعني أحيانا (لدينا حوالي 300 شخص باستخدام لدينا في المنزل البرامج) يمكن أن يسبب التطبيق إلى تعطل توليد ويندوز 'تقرير الخطأ الحوار بدلا من جانبنا علة تتبع الحوار.هذا كان سببه اثنين الكتابة فوق بعضها البعض الذاكرة أكوام.

كما يجب استخدام ملقم exchange ، قمنا ببعض البحوث ، واكتشفت أنه إذا كتب MAPI رمز في VB6 التطبيق سيكون لها مساحة الذاكرة, وبالتالي لا الكتابة .صافي كومة.

وهي طويلة نوعا ما ينضب من الأمور, ولكن حتى الآن كان لدينا أي مشاكل, و مئات (إن لم يكن الآلاف) من رسائل البريد الإلكتروني التي يتم إرسالها من قبل موظفينا اليومية.

الخبر السار هو أن ou هي على المسار الصحيح مع تعقب حق الواجهات.الأخبار السيئة هي أن 2000 و XP سيئة للغاية معتمدة في .صافي لأنها جاءت قبل .صافي فقط مع عام 2003 كان جهد حقيقي للوصول COM تعمل في .صافي.

يمكنك حل هذه نسخة 2000 و XP سوف تتكون من أنك تتبع الحق واجهات COM والتفاف لهم الذاتية الخاصة بك.لقد كان القيام بذلك مرات عديدة على هذه النسخة من Outlook و هو لم جميلة.حظا سعيدا.

الفداء يمكن استخدامها دون تثبيته في التسجيل - يمكنك استخدام RedemptionLoader في C# ، VB.Net, Delphi و C++.

//tell the app where the 32 and 64 bit dlls are located
//by default, they are assumed to be in the same folder as the current assembly and be named 
//Redemption.dll and Redemption64.dll.  
//In that case, you do not need to set the two properties below
RedemptionLoader.DllLocation64Bit = @"c:\SourceCode\Redemption\redemption64.dll";
RedemptionLoader.DllLocation32Bit = @"c:\SourceCode\Redemption\redemption.dll";
//Create a Redemption object and use it
RDOSession session =  RedemptionLoader.new_RDOSession();
session.Logon(Missing.Value, Missing.Value,  Missing.Value, Missing.Value, Missing.Value,  Missing.Value);

أنا لم تستخدم قط في الواقع هذه ، ولكن يمكنك أن تحاول Outlook كائنات بيانات التعاون (CDO).أنها اعتادت أن تكون إضافة على ذلك هل يمكن تثبيت outlook, ولكن الآن يتم توفيرها بشكل منفصل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top