2

我们已经开始使用 EWS 托管 API 通过 MS Exchange Server 2007 发送电子邮件。我们还有另一个产品通过 POP3/IMAP 协议从 MS Exchange Server 2007 接收电子邮件。

当我们使用下面给出的代码在 C#.NET 中使用 EWS Manged API 设置自定义标头时遇到的问题。自定义标题不显示。

当我将下面的自定义标题发送给自己时,我也注意到了。并使用 Microsoft Outlook 查看标题我注意到标题是可见的,但仅在“custheader”中以小写形式显示。

代码如下:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);

  service.Credentials = new WebCredentials("username", "password", "domain");                
  service.AutodiscoverUrl("emailaddress@xyz.com");

  EmailMessage message = new EmailMessage(service);
  message.Subject = "This is a test";
  message.Body = "xxxdffsasfasfasfsfsfsfsaffafasfsfsafasfafasffasf";


 message.ToRecipients.Add("toaddress@todomain.com");


ExtendedPropertyDefinition msg = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.InternetHeaders, "CUSTHEADER", MapiPropertyType.String);
 message.SetExtendedProperty(msg, "87677");

 message.SendAndSaveCopy();

您能否帮助我们,让我们知道如何使用 EWS 托管 API 或替代解决方案解决此问题。

仅供参考:我的同事使用我上面提到的他自己的邮件服务器(Argo Mail)和电子邮件产品进行了测试。我们看到它会在您发送自定义标头时按预期拾取它们。
这消除了电子邮件 IMAP/POP3 产品可能对标头执行意外操作的任何可能性。如果 Outlook Express 没有看到标题,那么上面提到的电子邮件客户端也肯定不会看到它。

那么,为什么这些标头不向非 MAPI 客户端显示?在 Outlook 中,标头会显示,但它是 MAPI 客户端。

我注意到上面使用的代码我们正在创建一个新的扩展属性。扩展属性和命名 MAPI 属性(已在http://technet.microsoft.com/en-us/library/bb851492%28EXCHG.80%29.aspx中引用)之间有什么区别。

你能回答这个问题并指出我们如何实现我们的 IMAP/POP3 客户端读取我们的自定义标头吗?

4

1 回答 1

2

MS Exchange Server 2007 可以使用 POP/IMAP 将自定义/修改的标头传播到非 Mapi 客户端。
但我们需要运行以下命令: Set-TransportConfig –HeaderPromotionModeSetting [MayCreate | 无创 | MustCreate] 例如:Set-TransportConfig –HeaderPromotionModeSetting MustCreate

在 Exchange 管理外壳中,使用上述 cmdlet 更改当前行为。默认值为无创建。您可以选择其他任何一种模式。

首选是使用 MayCreate 而不是 MustCreate。

MS Exchange Server 2007 仅以小写形式传播自定义标头。

于 2011-01-03T21:37:14.677 回答