[Mac OS X] Ждем важное письмо в Mail

Приложение Mail имеет возможность создания пользовательских фильтров для входящей корреспонденции. Чаще всего фильтры используют для сортировки пришедших писем по различным пользовательским папкам. Фильтровать письма можно по различным критериям:

pic_0

pic_1

Для писем, соответствующих установленным в фильтре критериям, можно осуществлять целый ряд действий:

pic_2-1

Например, при ожидании важного письма, можно настроить фильтр так, чтобы при получении письма от определенного отправителя или по определенному содержимому письма, проигрывался звук для привлечения вашего внимания. На картинке выше среди возможных действий при срабатывании фильтра имеется выбор – Проиграть звук. В качестве звука можно выбрать ряд стандартных звуков или свой собственный.

У этого метода есть один небольшой недостаток — звук будет проигрываться с установленной в системе на момент его воспроизведения громкостью. У меня, например, эта громкость обычно установлена на достаточно низкий уровень, поскольку различные системные звуки на большой громкости меня попросту раздражают. А соответственно, при срабатывании фильтра я рискую не услышать назначенный для него звук, особенно если в тот момент окажусь не возле компьютера.

Достаточно интересный выход для такой ситуации, я «подсмотрел» в одном из зарубежных блогов. Поскольку в качестве действия для фильтра можно выбрать – Запустить AppleScript, то можно написать скрипт, который будет устанавливать системную громкость на максимальное значение, воспроизводить звуковое предупреждение, а затем возвращать громкость к предыдущему значению.

Пишем скрипт

Предложенный в том блоге скрипт, я немного модифицировал (исправил небольшую ошибку и учел русскую локализацию наших систем) и предлагаю его вашему вниманию. Запустите Редактор AppleScript (ПрограммыУтилиты) и скопируйте приведенный ниже текст в его рабочее окно:

using terms from application "Mail"
on perform mail action with messages the_messages
tell application "Mail"
set currentVolume to output volume of (get volume settings)
set volume 10
repeat with i in the_messages
open i
end repeat
say "Пришло важное письмо!"
set volume output volume currentVolume
activate
end tell
end perform mail action with messages
end using terms from

Нажмите в панели инструментов кнопку Компилировать, должно получиться так (картинки кликабельны):

pic_3

Затем комбинацией клавиш Cmd+S вызовите диалог сохранения скрипта, в котором выберите папку, в которую будете сохранять скрипт, и введите имя скрипта, например — ImportantMail, затем нажмите кнопку Сохранить:

pic_4

Для правильной работы нашего скрипта необходимо, чтобы в системе была установлена поддержка Преобразования текста в речь для русского языка. Для тех, кто не знает, как это сделать, можно посмотреть подсказку в этой статье.

Настраиваем фильтр

Теперь открываем настройки приложения Mail, например, комбинацией клавиш Cmd+, (запятая) или через меню Mail — Настройки… Переходим на вкладку Фильтры, нажимаем кнопку Добавить и настраиваем фильтр:

pic_5

Сначала вводим название фильтра, затем выбираем условия срабатывания. На картинке для примера выбрано условие: если письмо получено с адреса user@mail.ru, а вам необходимо настроить свои условия. В качестве действия выбираем Запустить AppleScript и при помощи кнопки Выбрать указываем расположение нашего скрипта ImportantMail.scpt.

В результате всего этого, при получении письма, соответствующего условиям фильтра, вы услышите на максимальной громкости звуковое уведомление — «Пришло важное письмо!». Вы можете изменить его на любое другое в 9-й строке скрипта. Так же вы можете изменить громкость воспроизведения этого уведомления в 5-й строке скрипта, исходя из того, что значение 10 — соответствует 100% громкости.

После звукового уведомления, скрипт возвращает громкость к предыдущему значению и открывает письмо в отдельном окне. В случае, если таких писем будет несколько, скрипт предупредит о каждом и откроет их все в отдельных окнах.

Удачи!