Bei Panther sind auch Beispiel-Skripte für Mail dabei. Unter anderem auch das Script "Create new message".
Die relevanten Teile dieses Skripts sind:
tell application "Mail" to set everySignature to name of every signature
set theSignature to ""
if (count of everySignature) is greater than 0 then
____set everySignature to {"None"} & everySignature
____set theResult to choose from list everySignature with prompt ¬
________"Select a signature to use with this message:" default items {"None"} without multiple selections allowed
____if theResult is not equal to false then
________tell application "Mail" to set theSignature to signature (item 1 of theResult)
____end if
end if
tell application "Mail"
____
____set newMessage to make new outgoing message with properties {subject:theSubject, content:theBody & return & return}
____tell newMessage
________
________set sender to theSender
________make new to recipient at end of to recipients with properties {name:theName, address:theAddress}
________
________if (theSignature is not equal to "") then
____________set message signature to theSignature
________end if
____end tell
____
end tell
Im ersten Teil des Skript wird überprüft, ob Signaturen angelegt sind. Ist das der Fall, wird ein Auswahldialog gezeigt, wo man die gewünschte Signatur auswählen kann.
Im zweiten Teil - am Schluss - wird die ausgewählte Signatur an eine neu erzeugte Mail angehängt.
Das Skript läuft natürlich nicht so, wie ich es hier zitiert habe, da nicht alle Variablen definiert sind. Im Originalskript werden diese Variablen jeweils per Texteingabe in einem Dialog gefüllt.
Aber zurück zu den Signaturen. Da im ersten Teil des hier gezeigten Skriptteils eine Liste der vorhandenen Signaturen erstellt wird, könnte man z.B. auch eine Zufallsauswahl treffen, indem man folgendes Konstrukt benutzt:
tell application "Mail" to set theSignature to signature (some item of everySignature)