我编写了一个由Mail规则调用的脚本。我希望脚本在某些条件下将邮件移动到垃圾箱。它没有用,所以我已经评论了测试,它仍然无法正常工作。我从在线教程中获得了代码。教程将消息移至“已归档”。当我通过移动到垃圾箱替换对脚本的调用时,规则本身有效。这是我正在测试的内容:
using terms from application "Mail"
on perform mail action with messages these_messages for rule this_rule
tell application "Mail"
set the message_count to the count of these_messages
repeat with i from 1 to the message_count
set this_message to item i of these_messages
-- try
-- set this_content to (every character of content of this_message) as Unicode text
-- if this_content is in {"", "?"} then error
-- if "bowles" is not in this_content and "patton" is not in this_content then
set mailbox of this_message to mailbox "Trash"
-- end if
-- on error error_message
-- set this_content to "NO CONTENT"
-- end try
end repeat
end tell
end perform mail action with messages
结束使用
中的条款有争议的陈述是:将this_message的邮箱设置为邮箱“Trash”
其余的活动代码来自AppleScript编辑器模板。
谢谢, 简略的
P.S。有没有关于将AppleScript与Mail一起使用的书籍?
答案 0 :(得分:3)
您应该说,而不是试图将邮件“移动”到垃圾箱
delete this_message
。
Mail.app将根据您的帐户设置(邮件首选项> 帐户>(您的帐户)> 邮箱行为> 已删除邮件)并将邮件移至其帐户的“已删除邮箱”邮箱,或者根据您的设置立即将其删除。
答案 1 :(得分:2)
在问这里之前,我应该做一个更广泛的网络搜索。希望这个答案对其他人有用。我添加了下面的第一行,并修改了上面代码中的第二行。
set theAccount to account of mailbox of this_message
set mailbox of this_message to mailbox "Trash" of theAccount