Applescript Mail.app"获取每条传出消息"仅显示脚本创建的消息

时间:2015-10-21 16:30:49

标签: macos email scripting applescript

我正在编写一个小脚本来帮助我整理打开的消息,我想在Mail.app中获取每个打开的外发消息。

当我运行以下内容时,无论我打开哪些外发消息,都会返回{}

tell application "Mail"
    get every outgoing message
end tell

然而,当我跑

tell application "Mail"
    make new outgoing message

    get every outgoing message
end tell

我得到{outgoing message id 44 of application "Mail"}的第一个实例,第二次获得{outgoing message id 44 of application "Mail", outgoing message id 45 of application "Mail"}等,因为它会不断打开新的空白传出消息。

所以我看到的是它只能找到 Applescript创建的消息?这是一个错误还是一个功能?有解决方法吗?

2 个答案:

答案 0 :(得分:0)

这里的答案是另一个问题:How to set the sender of the current Mail.app outgoing message via AppleScript?

可悲的是,显然,是的,Applescript只是被打破了,他们没有费心去解决它。

答案 1 :(得分:0)

只需回复&#34;如何设置当前Mail.app&#34;的发件人,您是对的,&#39;发件人&#39;属性不起作用,但你可以解决它首先选择适当的INBOX,链接到你要发送的帐户,然后创建新的外发消息:请参阅下面的脚本,不涉及GUI脚本(更安全!)< / p>

tell application "Mail"
activate
if not (message viewer 1 exists) then make new message viewer
set selected mailboxes of message viewer 1 to {mailbox "INBOX" of account 2 of application "Mail"}
set newMessage to make new outgoing message with properties {visible:true, subject:"subjet xxx", content:"content free text"}
tell newMessage
    make new to recipient at end of to recipients with properties {name:"", address:"test@gmail.com"}
end tell
end tell

单词&#34; account 2&#34;第4行是发件人帐户(1,2,...),可以替换为该帐户的名称,如:account&#34;我的帐户&#34;。我希望它可以帮助你。