问题描述
我从票务系统收到很多电子邮件,其中典型的流程是:
这些票已经在到达时移到了单独的收件箱文件夹中。另外,我想使用脚本删除票证,以便仅保留每个对话中的最新消息。一个不错的选择是将所有“已关闭”的票证移到一个单独的文件夹中。
我尝试过AppleScript:
tell application "Microsoft Outlook"
set theMessages to messages of folder "777_Tickets" of inBox of default account
set allMessages to messages of workingFolder
set messageArray to {}
repeat with thisMessage in messages of workingFolder
set temp to {}
set end of temp to id of thisMessage
set end of temp to subject of thisMessage
set end of temp to time received of thisMessage
set end of messageArray to temp
end repeat
end tell
set arrayLength to count of messageArray
set messagesToDelete to {}
repeat with newMessage from 1 to arrayLength
set recentSubject to messageArray's item newMessage's item 2
set recentReceived to messageArray's item newMessage's item 3
# for checks: log "Iteration: " & newMessage & " of " & arrayLength
repeat with thisItem from 1 to count of messageArray
(* The following if-statement is pretty unreadable due to the array structure (list of lists). The logic should be to add the ID to a list if the message has the same subject AND is older than than the one it is compared to AND it is not yet on the list.
In the end I want a list of emails (by message ID) to delete. If that works fine on a test set,I Could delete the failing mails immediately.
*)
if messagesToDelete does not contain messageArray's item thisItem's item 1 and messageArray's item thisItem's item 3 is less than recentReceived and messageArray's item thisItem's item 2 is equal to recentSubject then
log messageArray's item thisItem's item 1
set end of messagesToDelete to messageArray's item thisItem's item 1
end if
end repeat
end repeat
#for checks: log "There are " & (count of messagesToDelete) & " emails to be deleted."
*)
但是,当我运行该脚本时,AppleScript引擎会从该文件夹中提取所有20000封电子邮件,然后对其进行处理。这会导致计算机性能大幅下降,并最终导致超时错误。
您对我有什么建议吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)