No puedo mandar un mail via script

cancel
Showing results for 
Search instead for 
Did you mean: 
novata
Member II

No puedo mandar un mail via script

Hola a tod@s!
Resulta que al intentar mandar un mail a traves de un script, no me deja, la configuración del mail la tengo bien, puedo mandar mails correctamente ejecutando la acción mandar mail o a través de reglas, pero cuando lo intento hacer dentro del script, por ejemplo con el código:
var mail = actions.create("mail");
mail.parameters.to = "un_mail_valido@gmail.com";
mail.parameters.subject = "Hello from JavaScript";
mail.parameters.from = "un_mail_valido@gmail.com";
mail.parameters.template = root.childByNamePath("Company Home/Data Dictionary/Email Templates/notify_user_email.ftl");
mail.parameters.text = "blabla";
mail.execute(document);

no me deja,
¿alguna idea de que hago mal?

saludos.
4 Replies
ajv
Member II

Re: No puedo mandar un mail via script

Hola GBG,

El error que te da, seguramente, es que no reconoce el objeto root (ya que no está definido como objeto accesible por JavaScript).
Si sustituyes el "root" por "companyhome" te debería funcionar:
var mail = actions.create("mail");
mail.parameters.to = "un_mail";
mail.parameters.subject = "Hello from JavaScript";
mail.parameters.from = "un_mail";
mail.parameters.template = companyhome.childByNamePath("Company Home/Data Dictionary/Email Templates/notify_user_email.ftl");
mail.parameters.text = "blabla";
mail.execute(document);

Hasta luego!
novata
Member II

Re: No puedo mandar un mail via script

Gracias por contestar ajv, pero no es ese el problema,
ya había probado a poner companyhome y nada,
¿se te ocurre otra cosa?

saludos.
ajv
Member II

Re: No puedo mandar un mail via script

jeje, pues yo he recibido un mail con ese script, que ponía "blablabla"…

Si dices que recibes mail's en Alfresco (por notificaciones de envío o por acciones concretas)…parece que no es un problema de configuración del mail. He visto que habías puesto un mail de gmail, los cuales dieron algunos problemillas en su día con la configuración (pero hay varios post's donde se indica cómo configurarlo).
En caso de tenerlo bien configurado, deberías recibir un mail con el body = blablabla.

Si lo que no obtienes es la plantilla (el texto de la plantilla rellena de datos), esto es debido a que si no encuentra el nodo plantilla que has indicado, pone el texto especificado en mail.parameters.text.
Tienes que tener en cuenta que el método childByNamePath admite un parámetro que representa el path RELATIVO al nodo actual (en este caso, el objeto root companyhome). Por tanto, si ejecutas el siguiente script:
var mail = actions.create("mail");
mail.parameters.to = "tu_mail";
mail.parameters.subject = "Hello from JavaScript";
mail.parameters.from = "tu_mail";
mail.parameters.template = companyhome.childByNamePath("Diccionario de datos/Modelos de Email/notify_user_email.ftl");
mail.parameters.text = "Buenos dias";
mail.execute(document);
Te debería encontrar la plantilla (porque es relativo al companyhome) y procesarla para el mail.
También ten en cuenta el "idioma" de tu alfresco. En mi caso, los espacios los tengo en castellano, por lo que el path que tengo que emplear es "Diccionario de datos/Modelos de Email/notify_user_email.ftl" y no "Data Dictionary/Email Templates/notify_user_email.ftl".

Bueno, espero que con lo indicado te solucione el problema.
Saludos!!
novata
Member II

Re: No puedo mandar un mail via script

Pues al final era lo del correo de gmail, lo cual me resulta gracioso porque yo tengo configurado mi servidor de alfresco para que mande los mails desde una cuenta de correo de gmail y no me da ningún problema, pero al hacerlo desde  el script si… bueno lo importante es que ya me funciona, aunque buscaré los post que me dices para solucionarlo.

Gracias por tomarte la molestia de contestar
saludos!!!