Estoy intentando escribir un script que filtre las personas de la aplicación Contactos cuya nota incluya una palabra clave específica y que envíe un correo electrónico a aquellas que tengan al menos una dirección de correo electrónico. He escrito el siguiente código pero algo parece estar mal. No he podido averiguar especialmente cómo hacer una comprobación nula de los correos electrónicos.
property mailSubject : "A bulk message"
property mailBody : "Hi %NAME%"
property keyword : "topic"
tell application "Contacts"
set theRecipients to every person whose ((note contains keyword))
end tell
repeat with i from 1 to number of items in theRecipients
set theContact to item i of theRecipients
set theName to name of theContact
set theEmail to email of theContact
if (theEmail is not equal to "") then
set theBody to replaceName(mailBody, theName)
tell application "Mail"
set theOutMessage to make new outgoing message with properties {visible:true}
tell theOutMessage
make new to recipient at end of to recipients with properties {address:theEmail}
set sender to "o****.g****@gmail.com>"
set subject to mailSubject
set content to theBody
end tell
end tell
end if
end repeat
La ejecución de este script devuelve el siguiente error en la línea set theEmail to email of theContact
:
Contacts got an error: Can’t make |email| of person id "2827E13D-907A-41C5-A649-2174D1F61093:ABPerson" into type specifier.
¿Alguna idea?
Önder.