jump to navigation

Mandare email a più persone usando AppleScript 9 giugno 2008

Posted by fripp in AppleScript, Informatica, Mac OS X, Programmazione, Sistemi Operativi.
Tags: , , ,
trackback

Mi capita spesso di dover mandare la stessa email a tutte le persone del gruppo LiberaMente, di cui faccio parte.

Per automatizzare la cosa, ho creato un piccolo script AppleScript.

Ecco il sorgente:


set date_dialog to display dialog "Inserisci l'oggetto" default answer ""
set the_subject to text returned of date_dialog

tell application "Address Book"
    set name_list to every person of group "Liberamente"

    set email_value_list to {}
    
    repeat with p in name_list

        set end of email_value_list to value of every email of p

    end repeat

end tell

tell application "Mail"
    activate

    set new_message to make new outgoing message with properties {subject:the_subject, visible:true}

    tell new_message
        repeat with i from 1 to (count email_value_list)

            repeat with j from 1 to (count item i of email_value_list)
                make new to recipient with properties {address:item j of item i of email_value_list}
            end repeat

        end repeat

    end tell

end tell

Vediamo in breve come funziona.

Il primi due righi di codice
set date_dialog to display dialog "Inserisci l'oggetto" default answer ""
set the_subject to text returned of date_dialog

fanno comparire una finestra di dialogo che permette all’utente di inserire l’oggetto della mail.

Il blocco di codice

tell application "Address Book"
	set name_list to every person of group "Liberamente"
	
	set email_value_list to {}
	
	repeat with p in name_list
		
		set end of email_value_list to value of every email of p
		
	end repeat
	
	
	
end tell

estrae dalla Rubrica Indirizzi tutti i membri del gruppo “Liberamente” e li memorizza nella variabile name_list.
Il successivo ciclo repeat estrae le email di tutti i membri del gruppo e li aggiunge alla lista email_value_list.

Il successivo blocco tell dice a Mail di creare un nuovo messaggio di posta avente come oggetto quello inserito dall’utente:
set new_message to make new outgoing message with properties {subject:the_subject, visible:true}.

Il successivo blocco tell serve per inizializzare la lista dei destinatari con tutte le email contenute in email_value_list.

Annunci

Commenti»

1. Aldo Filippini - 22 settembre 2008

non ho capito se la procedura può funzionare anche per email formattate ( con i modelli di Mail 3)

grazie in ogni caso

aldo

2. fripp - 22 settembre 2008

Certo che funziona. Lo script si limita a creare il messaggio mettendo come destinatari i membri di un gruppo di indirizzi di Address Book. Poi il modello te lo crei tu

3. marco - 8 novembre 2008

ma dove lo devo mettere lo script?

4. fripp - 8 novembre 2008

Lo metti dove più ti garba. Devi esser tu a invocarlo


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: