【发布时间】:2020-10-03 12:20:27
【问题描述】:
我一直试图在 MSDN 文档和其他各种资源中找到这个问题的答案,但找不到可行的方法。
这是我正在使用的一些 C# 代码:
private ExtendedPropertyDefinition SurpressAutoResponse = new ExtendedPropertyDefinition(
DefaultExtendedPropertySet.InternetHeaders,
"X-Auto-Response-Suppress",
MapiPropertyType.String); // Also tried with StringArray and Integer
private ExtendedPropertyDefinition OtherID = new ExtendedPropertyDefinition(
DefaultExtendedPropertySet.InternetHeaders,
"X-Custom-ID-Property-Example",
MapiPropertyType.String);
{ 其他一些不重要的代码 }
var mm = new EmailMessage(Global.Exchange);
mm.ToRecipients.Add("me@me.com"); // example address, of course
mm.Subject = Subject.Replace('\r', ' ').Replace('\n', ' ');
mm.SetExtendedProperty(SurpressAutoResponse, "OOF, NDR"); // Also tried {"OOF", "NDR"} and -1
mm.SetExtendedProperty(OtherId, "12345-1");
mm.Body = "Hello World";
mm.Send();
当我检查传入电子邮件的标题时,我发现我的“OtherId”设置正确,但 X-Auto-Response-Suppress 未设置。有什么想法我应该如何进行交流以抑制这些不在办公室和交付失败的报告?
注意事项:
- 我的目标是 Exchange 2010_SP2 服务器,它应该支持这个
参考资料:
- https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-oxcmail/ced68690-498a-4567-9d14-5c01f974d8b1
- https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/dd633654(v=exchg.80)
更新
我决定尝试测试电子邮件的行为并在我的电子邮件帐户上设置自动回复/OOF。即使电子邮件的属性不包含 X-Auto-Response-Suppress 标头,我注意到它确实阻止了回复。我的假设是在 Exchange 服务器上读取标头,它也可能处理自动响应而不是客户端。由于客户端不对标头本身进行操作,因此 Exchange 通过在传输之前将其从原始电子邮件中删除来保存一些数据。请知道的人确认这是正确的吗?
【问题讨论】:
标签: c# email exchange-server exchangewebservices exchange-server-2010