小牛邮件Applescript变化

时间:2013-11-07 06:02:17

标签: email applescript osx-mavericks

到目前为止,小牛队一直表现不错,但是我多年来一直使用的一个信任的Applescript决定它不再适合工作了。脚本在这里:

tell application "Mail"
    set the clipboard to (content of first message of ¬
        inbox whose subject contains "2013-11-05") as string
end tell

脚本的工作是从主题为“J-List Reports 2013-11-05”的电子邮件中获取内容(显然每天都会更改)。如果我更改脚本以查找没有日期的“J-List报告”,它可以正常工作,但它收到错误的电子邮件,因为我无法指定日期(它查找第一条消息恰好在学科)。如果Applescript中有任何数字,试图强制它找到正确的电子邮件,我会

  

“邮件收到错误:无法获取收件箱中的邮件主题1   包含2013-11-05“

即使没有其他改变。

任何人都可以建议一种方法来指定正确的邮件,也许是任何主题包含“J-List报告”且月份为11且其日期为5的邮件?我花了几个小时但却无法让它为我工作。

2 个答案:

答案 0 :(得分:0)

这对我有用:

tell application "Mail"
    content of message 1 of mailbox "[Gmail]/All Mail" of account "Gmail" where subject contains "2013-11-05"
end tell
set the clipboard to result

消息从最新到最旧排序,因此message 1应该是最新消息。

tell application "Mail" to messages of inboxtell application "Mail" to messages of mailbox "INBOX" of account "Gmail"由于某种原因返回了一个空列表。

答案 1 :(得分:0)

这对我来说很好

tell application "Mail"
    try
        set the clipboard to (content of first message of ¬
            inbox whose subject contains "2013-11-05") as string
    on error errMsg
        display dialog "an error: " & errMsg
    end try
end tell

尝试将字符串更改为您知道存在的字符串,当我搜索没有匹配项的电子邮件时,我收到相同的错误。我怀疑你没有在这里包含完整的错误消息

rror "Mail got an error: Can’t get message 1 of inbox whose subject contains \"2013-11-05\". Invalid index." number -1719

无效索引对诊断非常重要,因为它可以准确地告诉我们问题所在。在主题包含2013-11-05

的情况下,没有可以识别的消息

所以你应该使用try语句,然后决定从那里做什么。

邮件版本7.0(1816) OS 10.9 build 13a603