Автоматически устанавливать по умолчанию От: учетная запись для каждого получателя в Apple Mail

Проблема

Я использую Apple Mail в OS X 10.10, и у меня настроены две почтовые учетные записи: одна для работы, а другая для личных целей. Не раз при составлении нового сообщения (не ответа) я забывал проверить адрес "От:" и отправлял рабочее сообщение из личного кабинета и наоборот.

Запрос

Я ищу способ автоматически установить учетную запись "От:" в зависимости от того, кто является получателем, когда я составляю новое сообщение. Если электронное письмо является ответом, я хочу использовать поведение Apple Mail по умолчанию (ответ от учетной записи, на которую было получено сообщение).

Например, скажем, я хочу отправить сообщение своему коллеге Джону. Поэтому я сочиняю новое сообщение и адресую его на его рабочую электронную почту. Я хочу, чтобы Apple Mail автоматически определяла его адрес электронной почты и устанавливала учетную запись «От:» на мой рабочий адрес электронной почты.

Конечно, список этих адресов электронной почты должен быть создан, но после первоначальной настройки поведение должно работать автоматически.

Другой пример: предположим, что мы с одним и тем же сотрудником Джоном также являемся друзьями, и он прислал мне электронное письмо на мой личный счет, чтобы назначить время для встречи вне работы. Когда я отвечаю на его электронное письмо, я хотел бы, чтобы учетная запись «От:» была моей личной учетной записью, поскольку это учетная запись, на которую изначально было отправлено электронное письмо.

Я не понимаю, как этот, казалось бы, здравый подход не является стандартной проблемой для почтовых клиентов в 2015 году! Конечно, я не могу быть единственным, кто хочет большего, чем универсальная учетная запись по умолчанию «От:», которую предлагает Apple Mail — и любой другой почтовый клиент.

Я просмотрел словарь AppleScript для Apple Mail и прочитал здесь несколько тем, в которых предполагается, что сценарии с графическим интерфейсом могут предлагать эту функциональность, но у меня нет никакого опыта в этом.

Есть ли способ сделать это?


person pnomads    schedule 15.04.2015    source источник


Ответы (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 {"[email protected]", "my [email protected]"} then
        set sender of m to "Personal Me <[email protected]>"
    end if
  end repeat
end tell

Чтобы заставить Applescript автоматически делать это без вмешательства, потребуется демон или какой-либо другой способ отслеживания событий в Mail. К сожалению, нет встроенных крючков.

person Derick    schedule 18.04.2015
comment
if (do shell script "echo -n " & quoted form of address of r & "|openssl sha1") is in thisHashList then для лучшей конфиденциальности. - person fartheraway; 19.04.2015
comment
@Derick- Спасибо за ответ! После моего первоначального поста я собрал очень хакерский макрос Keyboard Maestro, поэтому я хотел бы сначала попробовать более стабильный вариант — вариант applescript. Проблема в том, что когда я запускаю сценарий, я получаю сообщение об ошибке. Почта получила сообщение об ошибке: не удается получить каждого получателя исходящего сообщения с идентификатором 1. номер -1728 от каждого получателю исходящего сообщения с идентификатором 1. Что происходит и как я могу это исправить? Спасибо за вашу помощь! - person pnomads; 20.04.2015