Looplex Knowledge Base

sendMail

O tube sendMail envia uma mensagem por e-mail a um ou mais destinatários. Normalmente é usado dentro do extra do template, pois o extra é executado ao final do preenchimento do template. Ao usar o tube sendMail fora do extra, como no body, é preciso ficar atento pois qualquer texto impresso após o uso do tube sendMail será ignorado.

Formato

sendMail("email", "title", "message", "anexo")

Parâmetros

  • email: e-mail destinatário. No caso de inserir mais de um destinatário, os e-mails devem ser separados por vírgula ou ponto-e-vírgula e espaço;
  • title (opcional): título/assunto do e-mail que será enviado. Se o parâmetro não for inserido o e-mail será enviado como "Email de notificação da Looplex". Por outro lado, se o parâmetro for usado com um valor vazio ("") ou nulo (null) o e-mail será enviado sem assunto;
  • message (opcional): Mensagem a ser enviada no corpo do e-mail.;
  • anexo (opcional): Formato do documento que será anexado ao email. Pode ser "docx" ou "pdf", não importando se está em caixa alta ou baixa. Se não for inserido, nada será anexado.

Observação: Se usar apenas dois parâmetros, o tube interpretará que o segundo parâmetro é message e não title. Como resultado, será enviado um e-mail com o título "Email de notificação da Looplex" e o texto inserido como segundo parâmetro no corpo do e-mail como mensagem.

Retorno

Envia um e-mail tendo como remetente o endereço de e-mail "noreply@looplex.com.br".

Exemplos

Nos exemplos vamos usar um vetor do tipo String para receber os endereços de e-mail dos destinatários, para facilitar usaremos a variável |strExemplo.emailsDestinatarios| em todos exemplos. Nela usamos o tube vect2str para adequarmos o texto inserido ao formato necessário. É importante mencionar que todos parâmetros podem ser variáveis, como nos exemplos, ou mesmo strings fixas inseridas na própria lógica. Veja:

sendMail("email@dominio", "Exemplo", "Este é um exemplo", "pdf")

Note também que todos exemplos estão em um único template ao final da documentação.

Exemplo 01. Tube sendMail com um parâmetro.

No primeiro exemplo usaremos apenas o primeiro parâmetro. Assim, temos como resultado o envio de um e-mail com o assunto "Email de notificação da Looplex" e o conteúdo do template como mensagem. Vide template ao final da documentação.

Exemplo 02. Tube sendMail com dois parâmetros.

No segundo exemplo usaremos apenas dois parâmetros. Como explicado, o resultado é que o segundo parâmetro é interpretado como mensagem, e não como assunto do e-mail.
Assim, temos como resultado o envio de um e-mail com o assunto "Email de notificação da Looplex" e como mensagem o texto inserido no field <strExemplo.strEx02.mensagemDoEmail>.

Exemplo 03. Tube sendMail com todos parâmetros.

No terceiro exemplo usamos todos parâmetros. Teremos como resultado o envio de um e-mail com o assunto inserido em <strExemplo.strEx03.tituloEmail>, a mensagem inserida em <strExemplo.strEx03.mensagemDoEmail> e um arquivo anexo com o conteúdo do template no formato .pdf.

Template

template[TEMP_sendMail] {
metainfo {
language = "pt_BR"
name = "sendMail"
declarations {
+<strExemplo> : Struct {
name = "Exemplo sendMail"
fields {
+|emailsDestinatarios| : Vector[String] {
name = "e-mails destinatários"
},
+[strEx02] : Struct {
name = "Exemplo 02"
fields {
+[mensagemDoEmail] : Text {
name = "Mensagem do Exemplo 02"
}
}
},
+[strEx03] : Struct {
name = "Exemplo 03"
fields {
+[tituloEmail] : String {
name = "Título do Exemplo 03"
},
+[mensagemDoEmail] : Text {
name = "Mensagem do Exemplo 03"
}
}
}
}
}
}
}
body {
operations {
<strExemplo>.ask(),
print "Template de teste do tube sendMail. Este é o conteúdo textual do meu template."
}
}
extra {
operations {
// Exemplo 01
sendMail(|strExemplo.emailsDestinatarios|.vect2str("%f, %s, %p, %l")),
// Exemplo 02
sendMail(|strExemplo.emailsDestinatarios|.vect2str("%f, %s, %p, %l"), <strExemplo.strEx02.mensagemDoEmail>),
// Exemplo 03
sendMail(|strExemplo.emailsDestinatarios|.vect2str("%f, %s, %p, %l"), <strExemplo.strEx03.tituloEmail>, <strExemplo.strEx03.mensagemDoEmail>, "pdf")
}
}
}
Edit this page on GitHub