为什么AppleScript在移动邮件后仍在文件夹中查找邮件?

为什么AppleScript在移动邮件后仍在文件夹中查找邮件?,applescript,Applescript,我有一个AppleScript,它可以执行以下操作 激活Mail.app 查找未标记的特定文件夹中的邮件(“OmniFocus”,在我的用法中) 在这些消息上运行脚本,将它们添加为Omnifocus中的任务 标记每条消息 将每条邮件移动到存档文件夹 我添加了标记步骤(步骤4),因为如果没有它,脚本会重复查找相同的消息,即使它们已经被移动到存档文件夹中。这导致了OmniFocus中的许多重复任务。该脚本可以工作,但使用标记状态是一种黑客行为,我想了解为什么AppleScript在我的“OmniFo

我有一个AppleScript,它可以执行以下操作

  • 激活Mail.app
  • 查找未标记的特定文件夹中的邮件(“OmniFocus”,在我的用法中)
  • 在这些消息上运行脚本,将它们添加为Omnifocus中的任务
  • 标记每条消息
  • 将每条邮件移动到存档文件夹
  • 我添加了标记步骤(步骤4),因为如果没有它,脚本会重复查找相同的消息,即使它们已经被移动到存档文件夹中。这导致了OmniFocus中的许多重复任务。该脚本可以工作,但使用标记状态是一种黑客行为,我想了解为什么AppleScript在我的“OmniFocus”文件夹中一直查找已被移动到“Archive”文件夹的邮件,这样我就可以停止依赖标记状态(只需使用邮件所在的文件夹)确定消息是否已被处理

    我在2011 iMac上运行OS 10.8.3,我使用此脚本的邮件帐户是通过FastMail的IMAP帐户

    脚本如下


    当您“移动”邮件项目时,您可能会要求邮件服务移动它们,这需要“同步”才能执行该操作。您的脚本需要等待该操作完成,然后继续执行


    您的标记方法可能是最有效的;只有在连接可用且按规定的时间间隔进行移动时,才能在本地数据库上进行标记。

    我希望这会有所帮助,消息对象的状态为“已删除”,您必须对此进行检查。如果您从邮箱中移动邮件,它会不断重新出现并导致重复

    repeat with aMessage in messages
      if deleted status of aMessage is false then
        move message to theArchiveFolder
      end if
    end repeat
    
    Mail.app有一个ui菜单项,用于删除邮箱中删除的所有邮件:“删除已删除的邮件…”

    repeat with aMessage in messages
      if deleted status of aMessage is false then
        move message to theArchiveFolder
      end if
    end repeat