cancel
Showing results for 
Search instead for 
Did you mean: 

enviar email em etapa de workflow

douglasfrancisc
Champ on-the-rise
Champ on-the-rise

Olá!

criei um workflow, e em uma das etapas adicionei uma task que envia email: o workflow é conforme figa em anexo:

editei o alfresco-global.properties  e adicionei as seguintes linhas:

### E-mail ###
mail.host=smtp.sendtgrid.net
mail.port=587
mail.username=abc@azure.com
mail.password=*******
mail.from.default=douglas@xyz.com.br
mail.protocol=smtp
mail.smtp.auth=true

Porem na hora que a task é executada recebo um erro confome o anexo.

tambem nao sei onde esse log é gravado. sabem me dizer?

agradeço a ajuda... 

1 ACCEPTED ANSWER

Douglas, consegui resolver...

eu substitui a linha por:

bpm_package.children[0]

Onde eu encontro documentação sobre sa demais propriedades do objeto bom_package?

View answer in original post

7 REPLIES 7

douglascrp
World-Class Innovator
World-Class Innovator

‌ one more case where the text says there must be an attachment, but I cannot see it.

There are definitely 2 attachments there. Have you tried different browsers? Can you email me a screenshot of what you see? I'll create a case with Jive. 

douglascrp
World-Class Innovator
World-Class Innovator

Boa tarde.

Antes de mais nada, eu te digo que não consigo ver o anexo que você colocou.

Sobre o problema, creio que será bem mais prático se você testar o envio de emails usando um arquivo javascript. Você vai ganhar tempo pois não precisará iniciar um workflow para ver o erro.

Veja aqui um exemplo de como você pode fazer:

// create mail action   var mail = actions.create("mail");    mail.parameters.to = "davidc@alfresco.com";    mail.parameters.subject = "Hello from JavaScript";    mail.parameters.from = "davidc@alfresco.com";    mail.parameters.template = root.childByNamePath("Company Home/Data Dictionary/Email Templates/notify_user_email.ftl");    mail.parameters.text = "some text, in case template is not found";   // execute action against a document       mail.execute(doc); 

Douglas, boa tarde!

Eu consegui configurar o SMTP e estou recebendo os emails do Alfresco corretamente agora. Porem, criei uma task do tipo script com seu código pra testar o envio, mas não recebo nada, nem sequer um erro. Veja a minha task:

<scriptTask id="eMAilTask" name="EmailTsk" scriptFormat="JavaScript" activiti:autoStoreVariables="false">
<script>
<![CDATA[
alert("Welcome to activiti Javascript 1"); var mail = actions.create("mail"); mail.parameters.to = "douglas@brproj.com.br"; mail.parameters.subject = "Hello from JavaScript"; mail.parameters.from = "douglas@brproj.com.br"; mail.parameters.template = root.childByNamePath("Company Home/Data Dictionary/Email Templates/notify_user_email.ftl"); mail.parameters.text = "some text, in case template is not found"; mail.execute(doc); alert("Welcome to activiti Javascript 2");
]]>
</script>
</scriptTask>

Obrigado pela resposta e pela ajuda!

Boa tarde.

Legal que funcionou.

Creio que o seu problema está relacionado com o alert

Essa é uma função javascript que browsers entendem, e como o código do workflow é executado NO servidor, acredito que esteja falhando por isso.

Remova as linhas com alert ou substitua por chamadas de log do servidor, assim:

logger.warn("seu log aqui");

Espero que isso te ajude.

Douglas, ajudou muito...

Eu usei seu Script acima dentro de uma ServiceTask mas ele me retorna o seguinte erro na linha mail.execute(doc)

org.alfresco.scripts.ScriptException: 04280036 Failed to execute supplied script: 04280035 ReferenceError: "doc" is not defined. (AlfrescoJS#1)

Veja minha task:

<serviceTask id="srvtsk1" name="Alfresco Script Task" activiti:class="org.alfresco.repo.workflow.activiti.script.AlfrescoScriptDelegate">
<extensionElements>
<activiti:field name="script">
<activiti:string>
<![CDATA[
var mail = actions.create("mail"); mail.parameters.to = "douglas@brproj.com.br"; mail.parameters.subject = "Hello from JavaScript"; mail.parameters.from = "douglas@brproj.com.br"; mail.parameters.text = "some text, in case template is not found"; mail.execute(doc);
]]>
</activiti:string>
</activiti:field>
</extensionElements>
</serviceTask>

Agradeço e muito a colaboração.

Douglas, consegui resolver...

eu substitui a linha por:

bpm_package.children[0]

Onde eu encontro documentação sobre sa demais propriedades do objeto bom_package?