我使用AppleScript并且可以毫无问题地发送消息,但是"已发送"框没有得到我发送的副本。但是,如果我使用邮件应用程序发送邮件,那么"已发送"框得到我发送的副本。所以我想我的AppleScript可能会错过一个命令,或者告诉Mail保留已发送消息的副本。我错过了什么命令?感谢。
tell application "Mail"
set theNewMessage to make new outgoing message with properties {subject:theSubject, content:theBody & return & return, visible:true}
tell theNewMessage
set visibile to false
set sender to theSender
make new to recipient at end of to recipients with properties {address:theAddress}
make new attachment with properties {file name:theAttachment} at after the last paragraph
send
delay 5
end tell
end tell
答案 0 :(得分:1)
我认为你没有错过任何命令。我将您的脚本复制到我的iMac上的脚本编辑器中,为theSubject,theBody,theAddress,theSender和theAttachment设置值,然后运行它。它(a)成功发送了邮件,(b)我能够查看它在“已发送邮箱”中发送的邮件。
我尝试使用已知发件人和随机的example.com发件人。在这两种情况下,它都保存在默认的已发送框中。
所以这个问题很可能就在其他地方。确保您当前用于theSender的值映射到Mail中保存已发送邮件的帐户。 (如果是IMAP帐户,可能是在服务器上保存已发送的消息,服务器行为可能会影响您所看到的内容。)
如果这不起作用,请为脚本中的所有变量设置一些测试值,除了地址(使用example.com for theSender),并在问题中包含那些(地址除外)。 (如果您也可以将example.com用于地址,那么这样做,但是有些服务器会立即拒绝该消息,这使得测试此特定情况毫无价值。)
请注意,您有一个不会改变此行为的错误;你有“可见”拼写错误为“visibile”。但是,我尝试了两种方式,在这两种情况下,外发邮件都存储在相应的已发送邮箱中。
答案 1 :(得分:0)
尝试在发送消息后添加此内容...
set accountReference to first account whose name = "my account name"
synchronize with accountReference