到目前为止,小牛队一直表现不错,但是我多年来一直使用的一个信任的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的邮件?我花了几个小时但却无法让它为我工作。
答案 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 inbox
和tell 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