【发布时间】:2019-12-03 08:38:42
【问题描述】:
我有一个奇怪的问题。我为 Outlook 制定了规则。这是非常简单的规则。如果主题中有特定单词,则将电子邮件移动到另一个文件夹。我们也有 Exchange 服务器。我希望这条规则在服务器端起作用。问题是,当我手动创建相同的规则时,它会到达服务器。但是,如果我以编程方式创建此规则,那么 OWA 会告诉我这是 Outlook 规则(并且当 Outlook 关闭时它不起作用)。但是,如果我将转到 Outlooks 规则并按下以编程方式创建的规则(更改>完成>应用),那么服务器将取消它作为服务器端。如何以编程方式按下“应用”按钮(就像我会手动操作一样)?因为似乎只有应用按钮告诉服务器它可以是服务器端规则。所以代码是:
ruleName = FolderName;
session = app.Session;
store = session.DefaultStore;
rules = store.GetRules();
if (!RuleExist(ruleName, rules))
{
rule = rules.Create(ruleName, Outlook.OlRuleType.olRuleReceive);
ruleConditions = rule.Conditions;
subjectTextRuleCondition = ruleConditions.Subject;
subjectTextRuleCondition.Text = new string[] { "TEST" };
subjectTextRuleCondition.Enabled = true;
ruleActions = rule.Actions;
moveRuleAction = ruleActions.MoveToFolder;
moveRuleAction.Folder = INPRIS1_2;
moveRuleAction.Enabled = true;
//ruleActions.DesktopAlert.Enabled = true;
rules.Save(true);
提前感谢。
经过大量测试后,我发现如果我将文件夹创建和规则创建分开,那么规则是在服务器端创建的。 它是怎么回事:我创建了新的 Outlook 文件夹,然后在同一个按钮中添加了规则。在那之后,规则只有 Outlook 方面。 现在情况如何:首先我创建文件夹(带有第一个按钮)。然后第二个我正在创建规则。然后 srever 看到他们在服务器端。
【问题讨论】:
标签: c# vsto outlook-addin rules