AppleScript: Чистим почту в Mail.app

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

1-ый — это рассылки извещений от Facebook и ВКонтакте, отписаться от их не весьма комфортно поэтому что на эти веб-сайты я захожу лишь если же происходят определенные действия типа новейших сообщений либо приглашений, о которых я и узнаю через рассылки. Такие сообщения необходимы лишь чтоб выяснить что вышло, слышишь ли далее чтения их можно съесть удалить.

2-ой — это рассылки маркетинговых акций и скидок работающих определенный просвет времени (в приведенном скрипте это AirAsia).

Естественно, можно совершенно не заострять внимания и такую «мертвую почту», поэтому что почтовики дают довольно вольного места (на моем аккаунте в гугле за четыре года я занял лишь 2%). Ведь если Вы также как я уже направили на нее внимание, то предлагаю для вас последующий скрипт.

60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
— выставляем дату фильтрации почты старше 30 дней
set filter_date to ((current date) — 30 * days)
 
— обращаемся к приложению Mail.app
tell application "Mail"
— получаем перечень входящих сообщений для подходящего аккаунта
set message_list to messages of mailbox "INBOX" of account "12345@gmail.com"
— (account – это не адресок почты, слышишь ли заглавие аккаунта)
— … и их количество
set message_count to number of items in message_list
— в цикле обрабатываем каждое сообщение в перечне
repeat with i from одну to message_count
— получаем текущее обрабатываемое сообщение
set message_item to item i of message_list
— … его отправителя
set message_sender to sender of message_item
— проверяем исполнение критерий
— если же отправитель содержит строчку "ВКонтакте"
if message_sender contains "ВКонтакте" then
— и сообщение уже прочитано
if (read status of message_item) = true then
— удаляем его (при удалении сообщение попадет в корзину)
delete message_item
end if
— если же отправитель "AirAsia <donotreply_edm@airasia.com>"
else if message_sender = "AirAsia <donotreply_edm@airasia.com>" then
— и дата отправки сообщения больше даты фильтрации (30 дней)
if (date sent of message_item) < filter_date then
— тоже удаляем
delete message_item
end if
end if
end repeat
end tell

— обращаемся к приложению Mail.app
tell application "Mail"
— получаем перечень входящих сообщений для подходящего аккаунта
set message_list to messages of mailbox "INBOX" of account "12345@gmail.com"
— (account – это не адресок почты, слышишь ли заглавие аккаунта)
— … и их количество
set message_count to number of items in message_list
— в цикле обрабатываем каждое сообщение в перечне
repeat with i from одну to message_count
— получаем текущее обрабатываемое сообщение
set message_item to item i of message_list
— … его отправителя
set message_sender to sender of message_item
— проверяем исполнение критерий
— если же отправитель содержит строчку "ВКонтакте"
if message_sender contains "ВКонтакте" then
— и сообщение уже прочитано
if (read status of message_item) = true then
— удаляем его (при удалении сообщение попадет в корзину)
delete message_item
end if
— если же отправитель "AirAsia <donotreply_edm@airasia.com>"
else if message_sender = "AirAsia <donotreply_edm@airasia.com>" then
— и дата отправки сообщения больше даты фильтрации (30 дней)
if (date sent of message_item) < filter_date then
— тоже удаляем
delete message_item
end if
end if
end repeat
end tell

 

Все, сможете редактировать данный скрипт около свои нужды, сохранить как приложение и воспользоваться.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий