0

我看了又看,但找不到这个看似简单的问题的答案(我也是 AppleScript 的新手)。基本上,我只想要一个脚本来设置规则并将邮件移动到邮箱“Foo”(我的 IMAP 帐户中的邮箱)。这是我所拥有的:

tell application "Mail"
set newRule to make new rule at end of rules with properties {name:"Foo Internal",   enabled:true}
tell newRule
    make new rule condition at end of rule conditions with properties {rule type:any recipient, expression:"internal_foo@foo.com", qualifier:does contain value}
    set move message to mailbox "Foo"
end tell
end tell

我试过这条线的各种组合......

set move message to mailbox "Foo"

...包括指定 IMAP 帐户、将其设置为变量等。我不是程序员,但我真的想编写这些规则的脚本,因为我在工作中一直在设置规则。有什么帮助吗?

4

1 回答 1

0

您的脚本因两件事而失败:

  1. 它忽略了should move message将规则的属性设置为 true,这是一个move message动作真正“坚持”所必需的;
  2. 它没有正确定义目标邮箱的对象层次结构:您将需要 theaccountapplicationcontext,因为您位于tell针对规则的块内,而不是 Mail。

以下代码:

tell application "Mail"
    set newRule to make new rule at end of rules with properties {name:"Foo Internal", enabled:true, should move message:true}
    tell newRule
        make new rule condition at end of rule conditions with properties {rule type:any recipient, expression:"internal_foo@foo.com", qualifier:does contain value}
        set move message to (mailbox "Foo" of account "Bar" of application "Mail")
    end tell
end tell

将在 Mail 5.2 中工作(OS X 10.7.4 的库存)。

于 2012-07-18T21:22:08.787 回答