我正在研究自动化程序并需要它帮助我完成以下简单任务:
我需要将多个邮件的附件(这些附件排序在邮件中的文件夹中)下载并保存到以发件人的电子邮件地址命名的文件夹中。
如果可能的话,我希望将邮件的记录与附件一起保存(可以通过打印 pdf 来完成吗?)
我从未真正使用过自动化程序,但目前我已经设置了一个操作来“获取指定的邮件项目”,该操作连接到邮件中的正确文件夹,并且我已经设置了“从邮件中获取附件”,但我需要找出如何根据发件人姓名命名文件夹以及如何保存到这些文件夹。
答案1
您可能更愿意使用 Applescript 或类似的程序,以便更好地控制操作各个消息的属性。
编辑:我经历了比我想象中更多的尝试和错误,但你应该能够选择一批消息,运行此脚本,并让它在你一开始指定的文件夹中为每个发件人生成文件夹。它不进行记录,但也许足以让你开始。
我还注意到,在 Lion 10.7 和 10.7.1 上,将 [attachment] 保存在 [attachmentPath] 中的命令已损坏(我认为两者都有),但根据我所读到的信息,该问题似乎已在 10.7.2 中得到修复。因此,如果您运行的不是 10.7.2,则可能存在 YMMV。
再次编辑:更多修订...现在我们不会为没有附件的消息创建文件夹...
tell application "Mail"
set selectedMessages to selection
set destinationFolder to choose folder with prompt "Pick a Destination"
repeat with currentMessage in selectedMessages
repeat 1 times
set msgSender to sender of currentMessage
set msgAttachments to mail attachments of currentMessage
if (msgAttachments is equal to {}) then
exit repeat
end if
tell application "Finder"
if not (exists folder msgSender of destinationFolder) then
set senderFolder to (make new folder at destinationFolder with properties {name:msgSender})
else
set senderFolder to (folder msgSender of destinationFolder)
end if
end tell
repeat with currentAttachment in msgAttachments
if (downloaded of currentAttachment is true) then
set currentAttachmentPath to (senderFolder as string) & (name of currentAttachment)
save currentAttachment in currentAttachmentPath
end if
end repeat
end repeat
end repeat
end tell