ج # كيفية الحصول على عنوان البريد الإلكتروني نيابة عن Outlook الوظيفة الإضافية
-
19-09-2019 - |
سؤال
أحاول الحصول على عنوان البريد الإلكتروني المرسل من البريد الإلكتروني الذي يرسل باستخدام عنوان بريد إلكتروني آخر. المرسل كعروض في Outlook هو DIRIGN-LIPS@domain.com نيابة عن اسم المستخدم [user.name@domain.com]. ال MAPI
الكائن لديه طريقة SentOnBehalfOfName
يؤدي ذلك إلى إرجاع "اسم المستخدم" ولكن ليس عنوان البريد الإلكتروني. هل يعرف أحد كيفية تلقي حقل user.name@domain.com؟
المحلول
using System;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Reflection;
namespace Helpers
{
internal class EmailHelper
{
public static string GetSenderEmailAddress(Microsoft.Office.Interop.Outlook.MailItem mapiObject)
{
Microsoft.Office.Interop.Outlook.PropertyAccessor oPA;
string propName = "http://schemas.microsoft.com/mapi/proptag/0x0065001F";
oPA = mapiObject.PropertyAccessor;
string email = oPA.GetProperty(propName).ToString();
return email;
}
}
}
نصائح أخرى
هل تملك http://www.dimasttr.com/outspy/ ب إنها أداة مفيدة للحفر في كائنات MAPI في Outlook.
أيضا، إذا كنت تستخدم http://www.dimastr.com/redemption/ يمكنك الحصول على خاصية Sentonbehalfofemailaddress على كائن irdomail.
إذا كنت تستخدم Outlook 2007 لديك mailitem.propertyaccessor. ويمكنك الحصول على خاصية PR_SENDER_EMAIL_ADDRESS MAPI.
ماركوس
لا تنتمي إلى StackOverflow