Apple Mail: Applescript för att svara alla markerade

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1

Har bytt från Eudora till Mail och upptäcker nya begränsningar i Mail var och varannan dag. En irriterande detalj är att man inte kan svara på flera markerade mail samtidigt. Nå, jag hittade snabbt ett bra AppleScript som löser problemet och tänkte dela det här.

set thesenders to {}
set thesenderstext to ""
tell application "Mail"
    set themessage to the selection
    repeat with i from 1 to the number of items in themessage
        set thesender to (extract address from (the sender of (item i of themessage)))
        if thesenders does not contain thesender then
            set thesenders to thesenders & {thesender}
        end if
        set the was replied to of (item i of the themessage) to true
    end repeat
    set AppleScript's text item delimiters to ", "
    set thesenderstext to thesenders as text
    set AppleScript's text item delimiters to ""
    set newMessage to make new outgoing message
    tell newMessage
        set visible to true
        make new bcc recipient with properties {address:thesenderstext}
    end tell
    set toAddress to email addresses of item 1 of accounts as text
    tell newMessage
        make new to recipient with properties {address:toAddress}
    end tell
    activate
end tell

Källa

Scriptet skapar ett tomt mail och lägger dig själv i till-fältet och övriga mottagare i dold kopia.

Hej! Tack - precis vad jag letade efter! En dum fråga bara - hur använder man scriptet? Inget underbarn på sånt här.

Stort tack!

Upptäckte nyligen att scriptet inte lirade riktigt med Lion, så jag tog bort en rad. Nu ser det ut så här:

set thesenders to {}set thesenderstext to ""
tell application "Mail"
    set themessage to the selection
    repeat with i from 1 to the number of items in themessage
        set thesender to (extract address from (the sender of (item i of themessage)))
        if thesenders does not contain thesender then
            set thesenders to thesenders & {thesender}
        end if
    end repeat
    set AppleScript's text item delimiters to ", "
    set thesenderstext to thesenders as rich text
    set AppleScript's text item delimiters to ""
    set newMessage to make new outgoing message
    tell newMessage
        set visible to true
        make new bcc recipient with properties {address:thesenderstext}
    end tell
    set toAddress to email addresses of item 1 of accounts as rich text
    tell newMessage
        make new to recipient with properties {address:toAddress}
    end tell
    activate
end tell

Jag gjorde så här, men det finns kanske smidigare sätt att få tillgång till scriptet inifrån Mail.

1) Kopiera ovanstående kod
2) Öppna programmet AppleScript-redigerare
3) Klistra in koden, spara som program, t.ex. med namnet Svara alla markerade
4) Jag har lagt till programmet i Dock (bredvid Mail-ikonen).
5) Markera de brev du vill svara på i Mail, klicka sedan på programmet

Ursprungligen av Mutant:

Upptäckte nyligen att scriptet inte lirade riktigt med Lion, så jag tog bort en rad. Nu ser det ut så här:

set thesenders to {}set thesenderstext to ""
tell application "Mail"
    set themessage to the selection
    repeat with i from 1 to the number of items in themessage
        set thesender to (extract address from (the sender of (item i of themessage)))
        if thesenders does not contain thesender then
            set thesenders to thesenders & {thesender}
        end if
    end repeat
    set AppleScript's text item delimiters to ", "
    set thesenderstext to thesenders as rich text
    set AppleScript's text item delimiters to ""
    set newMessage to make new outgoing message
    tell newMessage
        set visible to true
        make new bcc recipient with properties {address:thesenderstext}
    end tell
    set toAddress to email addresses of item 1 of accounts as rich text
    tell newMessage
        make new to recipient with properties {address:toAddress}
    end tell
    activate
end tell

Jag gjorde så här, men det finns kanske smidigare sätt att få tillgång till scriptet inifrån Mail.

1) Kopiera ovanstående kod
2) Öppna programmet AppleScript-redigerare
3) Klistra in koden, spara som program, t.ex. med namnet Svara alla markerade
4) Jag har lagt till programmet i Dock (bredvid Mail-ikonen).
5) Markera de brev du vill svara på i Mail, klicka sedan på programmet

Hej!

Precis vad jag letar efter - men när jag gör som du skriver så vill det inte fungera, inte spara ned som program. Det står "Syntaxfel - ”set” får inte hamna efter ”}”.

Gör jag ngt fel?

Tack för hjälp!

  • Medlem
  • 2012-04-12 21:33

Annars kan du spara som scpt och lägga det tex i /Library/Scripts/Mail Scripts/. Då blir det tillgängligt i skriptmenyn som aktiveras i inställningarna i programmet Applescriptredigerare.
Som överkurs kan man också lägga kortkommando på det med FastScripts

  • Medlem
  • 2012-06-20 22:03

Det fattas en retur efter den första "}" ser det ut som.
Men nrä jag försöker kompilera fastnar jag på "rich text". Om du snubblar på det kanske det går med bara "text" som jag har i koden nedan.

set thesenders to {}
set thesenderstext to ""
tell application "Mail"
	set themessage to the selection
	repeat with i from 1 to the number of items in themessage
		set thesender to (extract address from (the sender of (item i of themessage)))
		if thesenders does not contain thesender then
			set thesenders to thesenders & {thesender}
		end if
	end repeat
	set AppleScript's text item delimiters to ", "
	set thesenderstext to thesenders as text
	set AppleScript's text item delimiters to ""
	set newMessage to make new outgoing message
	tell newMessage
		set visible to true
		make new bcc recipient with properties {address:thesenderstext}
	end tell
	set toAddress to email addresses of item 1 of accounts as text
	tell newMessage
		make new to recipient with properties {address:toAddress}
	end tell
	activate
end tell

Tusen tack!

1
Bevaka tråden