2014-12-02 48 views
0

我使用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 

回答

1

我不认为你错过了任何命令。我将你的脚本复制到我的iMac上的脚本编辑器,为主体,身体,地址,theSender和附件设置值,然后运行它。它(a)成功发送了邮件,并且(b)我能够查看它发送到我发送的邮箱中的邮件。

我试着用已知的发件人和随机的example.com发件人这两个。在这两种情况下,它都保存在默认的“已发送”框中。

所以这个问题很可能在别处。确保您当前使用的值为TheSender映射到邮件中保存已发送邮件的帐户。 (如果它是IMAP帐户,它可能会保存已发送的消息到服务器上,并且服务器行为可能会影响您所看到的内容。)

如果这样不起作用,请为所有变量设置一些测试值除地址之外的脚本(使用example.com为theSender),并在你的问题中包括那些(地址除外)。 (如果您也可以使用example.com作为地址,那么做,但是有些服务器会立即拒绝该消息,这使得它无法用于测试这种特殊情况。)

请注意,您有一个错误改变这种行为;你有“可见”拼写为“visibile”。但是,我尝试了这两种方法,并且在两种情况下,传出消息都会存储在适当的“已发送”框中。

+0

非常感谢。首先用于捕捉拼写错误。其次为潜在的决议。我会看看IMAP设置,服务器设置,并尝试你的方法。很高兴有你的确认我的命令是很好的保存副本。再次感谢。 – 2014-12-03 23:03:17

0

尝试加入这个你发送消息后...

set accountReference to first account whose name = "my account name" 
synchronize with accountReference