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") } }}