[英]How to use applescript to tell Mail to keep a copy of sent message
我使用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
我认为您不会丢失任何命令。 我将您的脚本复制到iMac上的“脚本编辑器”中,为“主题”,“正文”,“地址”,“发件人”和“附件”设置值,然后运行它。 它(a)成功发送了邮件,并且(b)我能够查看它在“已发送”邮箱中发送的消息。
我同时尝试了一个已知的发件人和一个随机的example.com发件人。 在两种情况下,它都保存在默认的“已发送”框中。
因此,问题很可能在其他地方。 确保您当前用于theSender的值映射到Mail中用于保存已发送邮件的帐户。 (如果是IMAP帐户,则可能会将已发送的消息保存在服务器上,并且服务器的行为可能会影响您看到的内容。)
如果那不起作用,请为脚本中除TheAddress以外的所有变量(使用theSender使用example.com)设置一些测试值,并在您的问题中包括这些(测试地址除外)。 (如果您也可以对exampleAddress使用example.com,请执行此操作,但是某些服务器将立即拒绝该消息,这对于测试此特定情况毫无价值。)
请注意,您有一个不会更改此行为的错误。 您将“可见”拼写为“可见”。 但是,我尝试了两种方式,在两种情况下都将传出邮件存储在适当的“已发送”框中。
发送消息后,尝试添加此内容...
set accountReference to first account whose name = "my account name"
synchronize with accountReference
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.