2009-11-12 7 views
0

J'ai besoin d'écrire un Applescript pour Mail.app qui prendra tous les messages dans ma boîte de réception et messages envoyés qui sont plus anciens qu'un certain nombre de jours et les déplacent dans les dossiers respectifs "Sur mon Mac ", ou des dossiers locaux. La raison en est que mon compte IMAP a une limite de quota de 120 jours, et je préfère automatiser "l'archivage" de mon email dans un dossier local plutôt que de le faire manuellement.Applescript pour archiver des courriels dans Mail.app

Répondre

0

Qu'avez-vous essayé jusqu'à présent? Votre question est très large. Les éléments suivants doivent vous aider à démarrer:

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 

MISE À JOUR: Ajout de la réponse aux commentaires dans le code.

+0

J'ai vu ceci: http://www.doughellmann.com/projects/MailArchiveByDate/. Fondamentalement, je veux le faire, mais sans le catégoriser par mois. Je veux que tout soit dans un dossier de premier niveau. – churnd

+0

Tout dossier que vous créez pour archiver des messages sera dans le répertoire "Sur mon Mac". Mais disons que vous créez une Smart Mailbox appelée "Mail Archive" alors tout ce dont vous avez besoin sont ces lignes ... "Définissez archiveMailbox sur (mailbox (" Mail Archive "sous forme de chaîne)) \ r move currentMessage to archiveMailbox" Voir le code ci-dessus pour formatage correct. –

Questions connexes