5

我正在编写一个小applescript,它检索查看器中的所有“未读”消息并循环它们。

我有两个目标要完成:

  1. 我需要获取每条消息的主题并执行正则表达式以查看它是否适合第 2 步(例如:获取主题为 {.*} 的电子邮件)

  2. 我需要在单独的窗口中打开每条消息,4 秒后,我需要关闭该窗口并继续处理下一条消息

你知道怎么做这些吗?

提前致谢。

4

3 回答 3

2

以下applescript适用于我,但我不确定如何进行正则表达式匹配。您可以将 unix 'grep' 函数与 applescript 的 ' do shell script' 命令一起使用,但我不是如何正确使用 grep 的专家。我把这个留给别人来回答。


on run
    tell application "Mail"
        set myInbox to mailbox "INBOX" of account 1
        set myMessages to every message of myInbox

        repeat with theMessage in myMessages
            if read status of theMessage is false then

                if my subjectIsInteresting(subject of theMessage) then
                    open theMessage
                    delay 4
                    close window 1
                end if

            end if
        end repeat

    end tell
end run

on subjectIsInteresting(subject)

    -- do some regex magic here

    return true -- for now

end subjectIsInteresting
于 2008-12-24T01:08:28.323 回答
1

我知道您已经有了答案,但是您是否研究过 Automator?对于诸如此类的大多数标准脚本,如果您对 AppleScript 不太熟悉,则可能不会那么痛苦。它不是很“程序化”,但它很快,你会花更少的时间调试。

于 2009-06-19T02:13:42.170 回答
1

对于正则表达式——如果你在自己的机器上运行脚本,或者可以捆绑分发它,你可以使用 Satimage 的微笑扩展 ( http://www.satimage.fr/software/en/downloads/index.html )将正则表达式添加到 Applescript。

于 2009-01-26T03:02:09.550 回答