从 Outlook 插件获取收件人电子邮件地址(收件人地址)
Obtain Recepient Email Address (To address) from Outlook Plugin
我正在尝试查找收件人电子邮件地址,在从 outlook 读取邮件时我尝试了这些方法,但我收到了所有收件人,包括抄送,但我只需要在 mailitem
中发送电子邮件地址
foreach (Microsoft.Office.Interop.Outlook.MailItem mail in myInbox.Items)
{
string smtpAddress = string.Empty;
Subject = mail.Subject;
Description = mail.Body;
FromEmail = mail.SenderEmailAddress;
Microsoft.Office.Interop.Outlook.Recipients recips = mail.Recipients;
string mailids = string.Empty;
foreach (Microsoft.Office.Interop.Outlook.Recipient recip in recips)
{
Microsoft.Office.Interop.Outlook.PropertyAccessor pa = recip.PropertyAccessor;
smtpAddress = pa.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x39FE001E").ToString();
ToEmail = smtpAddress;
break;
}
MailedDateTime = mail.CreationTime;
Direction = 1;
CompanyID = CompanyID;
UserID = UserID;
ID = mail.EntryID;
}
我也试过了
ToEmail = mail.To;
在这我有时会得到收件人的名字
您可以使用收件人 class 的 Type 属性 来仅检测收件人。它将是以下 OlMailRecipientType 常量之一:olBCC、olCC、olOriginator 或 olTo。看来您需要检查类型 属性.
请注意,Microsoft 目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM和 NT 服务),因为当 Office 在此环境中 运行 时,Office 可能表现出不稳定的行为 and/or 死锁。
如果您要在服务器端上下文中构建 运行 的解决方案,您应该尝试使用已针对无人值守执行安全设置的组件。或者,您应该尝试找到至少允许 运行 客户端部分代码的替代方案。如果您从服务器端解决方案使用 Office 应用程序,该应用程序将缺少许多 运行 成功所必需的功能。此外,您将承担整体解决方案稳定性的风险。您可以在 Considerations for server-side Automation of Office 文章中阅读更多相关信息。
我正在尝试查找收件人电子邮件地址,在从 outlook 读取邮件时我尝试了这些方法,但我收到了所有收件人,包括抄送,但我只需要在 mailitem
中发送电子邮件地址foreach (Microsoft.Office.Interop.Outlook.MailItem mail in myInbox.Items)
{
string smtpAddress = string.Empty;
Subject = mail.Subject;
Description = mail.Body;
FromEmail = mail.SenderEmailAddress;
Microsoft.Office.Interop.Outlook.Recipients recips = mail.Recipients;
string mailids = string.Empty;
foreach (Microsoft.Office.Interop.Outlook.Recipient recip in recips)
{
Microsoft.Office.Interop.Outlook.PropertyAccessor pa = recip.PropertyAccessor;
smtpAddress = pa.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x39FE001E").ToString();
ToEmail = smtpAddress;
break;
}
MailedDateTime = mail.CreationTime;
Direction = 1;
CompanyID = CompanyID;
UserID = UserID;
ID = mail.EntryID;
}
我也试过了
ToEmail = mail.To;
在这我有时会得到收件人的名字
您可以使用收件人 class 的 Type 属性 来仅检测收件人。它将是以下 OlMailRecipientType 常量之一:olBCC、olCC、olOriginator 或 olTo。看来您需要检查类型 属性.
请注意,Microsoft 目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM和 NT 服务),因为当 Office 在此环境中 运行 时,Office 可能表现出不稳定的行为 and/or 死锁。
如果您要在服务器端上下文中构建 运行 的解决方案,您应该尝试使用已针对无人值守执行安全设置的组件。或者,您应该尝试找到至少允许 运行 客户端部分代码的替代方案。如果您从服务器端解决方案使用 Office 应用程序,该应用程序将缺少许多 运行 成功所必需的功能。此外,您将承担整体解决方案稳定性的风险。您可以在 Considerations for server-side Automation of Office 文章中阅读更多相关信息。