Hi everybody.
Back again.
I´m having heavy problems to debug this mail rule.
Everything seems to be ok until the script reaches the handler “mandarElCorreoDeBienvenida” when the process freezes.
I have read problems to debug with Sierra in this forum.
Any help?
Thanks for your time.
This is the rule:
using terms from application "Mail"
on perform mail action with messages correosSuscriptores for rule regla
set punto to 0
try
repeat with ref_correoSuscriptor from 1 to length of correosSuscriptores
set correo to (contents of ref_correoSuscriptor)
set {asunto, contenido} to {subject, content} of correo
--display dialog contenido
set punto to 1
set nombreSuscriptor to obtenerNombreSuscriptor(contenido)
set punto to 2
set emailSuscriptor to obtenerEmailSuscriptor(asunto)
set punto to 3
--creamos un contacto con los datos del nuevo suscriptor
crearNuevoContactoEnElGrupoSuscriptores(nombreSuscriptor, emailSuscriptor)
set punto to 4
--una vez almacenado el contacto, procedemos a mandarle el correo de bienvenida
mandarElCorreoDeBienvenida(nombreSuscriptor, emailSuscriptor)
set punto to 5
--una vez mandado el correo, vamos a crear una nota en la aplicación "Notas" indicando que se ha procesado correctamente el script
crearNota(nombreSuscriptor, emailSuscriptor)
end repeat
on error
display notification "se ha producido un errror en el punto " & punto
end try
end perform mail action with messages
end using terms from
And the handlers:
on obtenerNombreSuscriptor(contenidoEmail)
return (word 2 of paragraph 2 of contenidoEmail)
end obtenerNombreSuscriptor
on obtenerEmailSuscriptor(asunto)
return (word 6 of asunto & "@" & word 7 of asunto)
end obtenerEmailSuscriptor
on crearNuevoContactoEnElGrupoSuscriptores(nombre, correoElectronico)
tell application "Contacts"
tell group "suscriptores blog"
set nuevoSuscriptor to make new person with properties {first name:nombre}
tell nuevoSuscriptor
make new email with properties {label:"home", value:correoElectronico}
end tell
end tell
--ahora colocamos el comando "save" para que el nuevo contacto sea persistente en la aplicación contactos
--si no lo ponemos, no se creará el contacto
save
end tell
end crearNuevoContactoEnElGrupoSuscriptores
on mandarElCorreoDeBienvenida(nombreDestinatario, correoElectronicoDestinatario)
set asunto to "Bienvenido a la comunidad de Automatizando Manzanas"
set remitente to "automatizandomanzana@icloud.com"
set contenidoDelMensaje to "¡Hola " & nombreDestinatario & "!"
set contenidoDelMensaje to contenidoDelMensaje & return & return
set contenidoDelMensaje to contenidoDelMensaje & "Hemos recibido, a través del formulario de suscripción de la web, tu solicitud de suscripción."
set contenidoDelMensaje to contenidoDelMensaje & return & return
set contenidoDelMensaje to contenidoDelMensaje & "Únicamente recibirás un correo semanal con las novedades de la web y del canal de YouTube. Además, tendrás preferencias y descuentos en los cursos que estamos preparando."
set contenidoDelMensaje to contenidoDelMensaje & return & return
set contenidoDelMensaje to contenidoDelMensaje & "Si quieres que hablemos de temas de tu interés, como suscriptor tendrás un baremo más alto (por antigüedad suscripción y actividad) para que preparemos contenido de tu gusto. Dínoslo."
set contenidoDelMensaje to contenidoDelMensaje & return & return
set contenidoDelMensaje to contenidoDelMensaje & "Te pedimos disculpas si la edición de vídeo o sonido no es óptima, o si la web presenta defectos. Estamos trabajando para mejorar el contenido que producimos."
set contenidoDelMensaje to contenidoDelMensaje & return & return
set contenidoDelMensaje to contenidoDelMensaje & "Si nos quieres comentar algo, o realizar la solicitud que consideres oportuna, te animamos a hacerlo. Nos guste, o no, lo que pongas."
set contenidoDelMensaje to contenidoDelMensaje & return & return
set contenidoDelMensaje to contenidoDelMensaje & "Sin más, te reiteramos nuestro agradecimiento por tu confianza."
set contenidoDelMensaje to contenidoDelMensaje & return & return & return
set contenidoDelMensaje to contenidoDelMensaje & "http://automatizandomanzanas.com"
set contenidoDelMensaje to contenidoDelMensaje & return
set contenidoDelMensaje to contenidoDelMensaje & "Tu blog sobre automatización en dispositivos Apple"
set contenidoDelMensaje to contenidoDelMensaje & return & return & return
set contenidoDelMensaje to contenidoDelMensaje & "PD: Si en cualquier momento te quieres
desuscribir, mándanos un correo a través del formulario de contacto de la web, y te quitaremos del listado de suscriptores."
tell application "Mail"
launch
set correoBienvenida to make new outgoing message with properties {sender:remitente, subject:asunto, content:contenidoDelMensaje}
tell correoBienvenida
make new to recipient with properties {name:nombreDestinatario, address:correoElectronicoDestinatario}
end tell
delay 0.3
send correoBienvenida
end tell
end mandarElCorreoDeBienvenida
on crearNota(nombreSuscriptor, correoElectronico)
set tituloDeLaNota to "Script OK: mandarCorreoBienvenidaAsuscriptor"
set cuerpoDeLaNota to "Se ha mandado ok el correo de bienvenida a: " & nombreSuscriptor & " , con email: " & correoElectronico
tell application "Notes"
tell folder "scripts"
make new note with properties {name:tituloDeLaNota, body:cuerpoDeLaNota}
end tell
end tell
end crearNota