我正在处理 outlook 加载项,我需要在其中设置自定义 header 。我正在使用 VS2010 进行开发。
我正在尝试使用以下代码,但它似乎不起作用。
private void AddUserProperty(Outlook.MailItem mail, string folderEmailId)
{
Outlook.PropertyAccessor mailPropertyAccessor = null;
try
{
if (string.IsNullOrEmpty(folderEmailId))
return;
mailPropertyAccessor = mail.PropertyAccessor;
mail.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/X-WorksiteFolderEmailId", folderEmailId);
mail.Save();
try
{
MessageBox.Show("Existing :" + mail.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/X-WorksiteFolderEmailId"));
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
catch (System.Exception ex)
{
Logger.Error(ex);
MessageBox.Show(ex.Message);
}
finally
{
if (mailPropertyAccessor != null)
Marshal.ReleaseComObject(mailPropertyAccessor);
}
}
保存邮件项目后,我试图获取相同的项目进行验证,但它抛出一个异常,指出找不到该属性。
最佳答案
虽然没有必要直接获取对 PropertyAccessor 的引用,但我没有发现您的代码有问题。尝试:
string prop = "http://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/X-WorksiteFolderEmailId";
mail.PropertyAccessor.SetProperty(prop, folderEmailId);
mail.Save();
关于c# - 在 Outlook MailItem 中设置自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21627836/