Applescript для архивирования электронной почты в Mail.app - PullRequest
0 голосов
/ 13 ноября 2009

Мне нужно написать Applescript для Mail.app, который будет принимать все сообщения в папке «Входящие» и «Отправленные» старше определенного количества дней и перемещать их в соответствующие папки «На моем Mac» или локальные папки.

Причина в том, что моя учетная запись IMAP имеет ограничение квоты в 120 дней, и я бы предпочел автоматизировать «архивирование» моей электронной почты в локальной папке, а не делать это вручную.

1 Ответ

0 голосов
/ 17 ноября 2009

Что вы пробовали до сих пор? Ваш вопрос очень широкий. Следующее должно начать вас:

property secondsIn120Days : 10368000

tell application "Mail"

    set theInbox to inbox

    set dateToday to current date

    set firstMessage to 1
    set lastMessage to (get count of messages in theInbox)

    repeat with thisMessage from lastMessage to firstMessage by -1
        set currentMessage to message thisMessage of theInbox
        set messageDate to date received of currentMessage

        set timeDifference to dateToday - messageDate

        if timeDifference ≥ secondsIn120Days then

            (* In answer to your comment, any folder you create to archive
            messages is going to be in the "On My Mac" directory. But say you
             create a Smart Mailbox called "Mail Archive"  then all you should 
            need are these lines... *)

            set archiveMailbox to (mailbox ("Mail Archive" as string))
            move currentMessage to archiveMailbox

        end if
    end repeat
end tell

ОБНОВЛЕНИЕ: добавлен ответ на комментарии в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...