Mails ins Postfach bewegen… 2.0

Ist jetzt zwar nicht mehr ganz so simpel und “elegant” wie die erste Version, dafür kommt das Ding nun aber mit existierenden Unterordner und POP-Accounts (bisher nur IMAP) klar.

Code zum markieren einmal anklicken Code im Skript-Editor öffnen

— MoveMailTo

  Created by Hubi on 16.06.2009

–Änderung vom 07.12.2009

->Unterordner können nu auch als Ziel genutzt werden

->POP Accounts bzw. lokale Ordner können nun auch angesprochen werden.

  Copyright 2009 hubionmac.com. All rights reserved. ;-)

tell application “Mail”

set theSelection to selection

if theSelection ≠ {} then

try

set ac_name to (name of account of mailbox of (item 1 of theSelection))

set ac_typ to account type of account of mailbox of (item 1 of theSelection)

on error

–wenn eine Nachricht in einem lokalen Postfach ausgewählt wurde kann das nur schief gehen, also:

set ac_name to “”

set ac_typ to pop

end try

set t_mail to {}

if ac_typ = imap then

repeat with i from 1 to (count of every mailbox of account ac_name)

–set t_mail to t_mail & ((i & ” ” & name of mailbox i of account ac_name) as text)

set t_mail to t_mail & ((name of mailbox i of account ac_name & ” (” & i & “)”) as text)

end repeat

else if ac_typ = pop then

repeat with i from 1 to (count of every mailbox)

–set t_mail to t_mail & ((i & ” ” & name of mailbox i of account ac_name) as text)

set t_mail to t_mail & ((name of mailbox i & ” (” & i & “)”) as text)

end repeat

end if

set my_mailboxes to {“•••NEW•••”} & t_mail

set theaction to choose from list my_mailboxes default items {item 1 of my_mailboxes}

if theaction as text ≠ “false” then

if theaction as text = (item 1 of my_mailboxes) as text then

set new_mailboxname to text returned of (display dialog “New Mailbox” default answer “—New Mailbox —“)

if new_mailboxname as text ≠ “false” then

if ac_typ = imap then

tell account ac_name to set desti_box to (make new mailbox with properties {name:new_mailboxname})

else if ac_typ = pop then

make new mailbox with properties {name:new_mailboxname}

set desti_box to new_mailboxname

end if

end if

else

–set desti_box to mailbox ((first word of (theaction as text)) as integer) of account ac_name

if ac_typ = imap then

set desti_box to mailbox ((last word of (theaction as text)) as integer) of account ac_name

else if ac_typ = pop then

set desti_box to mailbox ((last word of (theaction as text)) as integer)

end if

end if

move theSelection to desti_box

end if

else

display dialog “Nix ausgewählt zum verschieben” giving up after 1

end if

end tell

3 thoughts on “Mails ins Postfach bewegen… 2.0

  1. Shadow says:

    Hey Hubi,

    das funktioniert jetzt tadellos!

    Besten Dank!

  2. Shadow says:

    Noch eine Anmerkung:

    Wenn du die einfach nur ein if ac_typ = pop und ansonsten else machst (ohne imap bedingung), dann geht das auch mit Exchange Mailboxen unter Snow Leopard :)

    Grüße

  3. […] zeigt einem eine Liste der Zielordner an und man kann recht flott die Bilder weg sortieren. Ist dem Mail-Skript nicht unähnlich…. Code zum markieren einmal anklicken Code im Skript-Editor […]

Leave a Reply