0

问题

我在 OS X 10.10 上使用 Apple Mail,并配置了两个邮件帐户——一个用于工作,一个用于个人。当我写了一条新消息(不是回复)时,我不止一次忘记检查“发件人:”地址并从我的个人帐户发送了一条工作消息,反之亦然。

请求

我正在寻找一种在我撰写新邮件时根据收件人身份自动设置“发件人:”帐户的方法。如果电子邮件是回复,我想要默认的 Apple Mail 行为(从收到消息的帐户回复)。

例如,假设我想向我的同事 John 发送消息。因此,我撰写了一条新消息并将其发送到他的工作电子邮件中。我希望 Apple Mail 自动检测他的电子邮件地址并将“发件人:”帐户设置为我的工作电子邮件地址。

当然,必须创建这些电子邮件地址的列表,但在初始配置之后,行为应该会自动运行。

另一个例子:假设同一个同事约翰和我也是朋友,他给我发了一封电子邮件到我的个人帐户,以安排一个时间在工作之余聚在一起。当我回复他的电子邮件时,我希望“发件人:”帐户是我的个人帐户,因为这是最初发送电子邮件的帐户。

我不明白这种看似常识的方法如何不是 2015 年电子邮件客户的标准问题!当然,除了 Apple Mail(以及所有其他邮件客户端)提供的通用默认“发件人:”帐户之外,我不可能是唯一一个想要的人。

我查看了 Apple Mail 的 AppleScript 字典,并在此处阅读了一些线程,这些线程表明 GUI 脚本可能提供此功能,但我对此没有任何经验。

有没有办法做到这一点?

4

1 回答 1

1

诀窍是让 Applescript 监控正在创建的新消息。如果您愿意走 Keyboard Maestro 路线,您可以将 command-N 重新映射到获取收件人地址的 Applescript,然后使用适当的发件人创建一条消息(请参阅http://www.macstories.net/tutorials/automating- mail-signatures-and-senders-with-applescript-and-keyboard-maestro/http://shawnblanc.net/2013/04/keyboard-maestro-email-signatures/一些相关示例)。

或者在输入地址后运行脚本。不需要 GUI 脚本。它看起来像这样:

tell application "Mail"
set m to front outgoing message
set theRecipients to to recipients of m
  repeat with r in theRecipients
    if address of r is in {"mybuddy@fastmail.fm", "my buddy@gmail.com"} then
        set sender of m to "Personal Me <personalme@gmail.com>"
    end if
  end repeat
end tell

让 Applescript 在没有干预的情况下自动执行此操作需要守护程序或其他方式来监视 Mail 中的事件。不幸的是,没有内置挂钩。

于 2015-04-18T23:45:38.300 回答