Mails ins Postfach bewegen… 2.0

by hubi on 7/12/2009
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

There are 3 comments in this article:

  1. 8/12/2009Shadow says:

    Hey Hubi,

    das funktioniert jetzt tadellos!

    Besten Dank!

  2. 8/12/2009Shadow 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. 19/03/2010hubionmac.com » AppleScript: Bild-Datein und PDFs weg sortieren… says:

    [...] 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 [...]

Write a comment:

CAPTCHA:


5 × eight =