Tôi đang cố gắng lấy địa chỉ email của người gửi từ email được gửi bằng địa chỉ email khác. Người gửi như hiển thị trong triển vọng là [email protected] thay mặt cho Tên người dùng [[email protected]]. Đối tượng MAPI
có phương thức SentOnBehalfOfName
trả về "Tên người dùng" nhưng không trả về địa chỉ email. Có ai biết cách nhận trường [email protected] không?C# Cách gửi địa chỉ email thay thế trong giao diện bổ sung
6
A
Trả lời
6
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;
}
}
}
1
Bạn có http://www.dimastr.com/outspy/ không? Nó là một công cụ hữu ích để khoan sâu vào các đối tượng MAPI trong triển vọng.
Ngoài ra, nếu bạn sử dụng http://www.dimastr.com/redemption/ bạn có thể nhận tại một thuộc tính SentOnBehalfOfEmailAddress trên đối tượng IRDOMail.
1
Nếu bạn đang sử dụng triển vọng 2007, bạn có MailItem.PropertyAccessor và bạn có thể nhận được thuộc tính bản đồ PR_SENDER_EMAIL_ADDRESS.
Marcus