Mandare email a più persone usando AppleScript 9 Giugno 2008
Posted by fripp in AppleScript, Informatica, Mac OS X, Programmazione, Sistemi Operativi.Tags: Address Book.app, AppleScript, Mail.app, Rubrica Indirizzi
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.













non ho capito se la procedura può funzionare anche per email formattate ( con i modelli di Mail 3)
grazie in ogni caso
aldo
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
ma dove lo devo mettere lo script?
Lo metti dove più ti garba. Devi esser tu a invocarlo