Mails ins Postfach bewegen… 2.0

7 December, 2009 (04:21) | Apple Mail | By: hubi

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

Ähnliche Themen

Comments

Comment from Shadow
Time December 8, 2009 at 4:34 pm

Hey Hubi,

das funktioniert jetzt tadellos!

Besten Dank!

Comment from Shadow
Time December 8, 2009 at 4:47 pm

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

Pingback from hubionmac.com » AppleScript: Bild-Datein und PDFs weg sortieren…
Time March 19, 2010 at 1:22 am

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