[Kettle] - Enviando email em formato html

Como apoio para uma dúvida em outra postagem deste blog, resolvi detalhar aqui como realizar, de forma simples, o envio de email no formato html pelo Kettle. Em ocasião anterior utilizei um componente XML para encapsular o html dentro de uma tag do tipo CDATA, porém neste exemplo não será necessário, visto que podemos colocar o conteúdo diretamente dentro de um campo no componente "Data Grid". Este componente existe a partir da versão 4 do Kettle.

A transformação se resume em apenas 2 componentes, o já mencionado "Data Grid", que conterá todos os campos e conteúdo necessários para o preenchimento do componente "Mail", que será usado para executar o envio do email para o destinatário. Ficará assim:

O componente "Data Grid" que chamei de "Dados Email" possui em suas propriedades 2 guias. A primeira onde definimos os campos que o grid possuirá, e a segunda, com os dados preenchidos. Segue abaixo a primeira guia com os campos necessários para o envio de email:

Na segunda guia colocamos os dados para o envio, inclusive com o html no campo "corpo", conforme a imagem abaixo:
  • Utilizei um html bem simples, apenas para exemplificar o uso.
  • Uma linha equivale a um email enviado. Para enviar mais de um basta irmos duplicando ou alimentando as linhas do grid com mais informações.
  • O Grid poderia ser substituído por um "Table Input" por exemplo, buscando estas informações de uma tabela e automatizando o envio de emails por critérios SQL. 
 Após as etapas acima precisamos agora utilizar estes campos novos com conteúdo para configurar o componente "Mail" que chamei de "Envia Email".

Na guia "Addresses" coloco os campos do destinatário do email, nome do remetente, email do remetente e, muito importante, repito o remetente no "Reply To". Sem o Reply To o email será rejeitado pelos servidores de email:
Na guia "Server" informo o servidor SMTP; a porta que será utilizada para envio; marco para usar autenticação (o caso da grande maioria dos SMTPs atuais); Informo o usuário de autenticação no servidor de email e a sua senha.
Se o servidor exigir conexão segura devemos marcar a opção e selecionar SSL ou TLS. Como no exemplo utilizei o servidor de uma conta de email gratuita do BOL selecionei TLS:

A última guia a configurar é a "Email Message"; Nela marcamos para enviar somente comentários no corpo da mensagem, pois do contrário não irá apenas o nosso campo HTML; Marco também para utilizar html no corpo da mensagem, pois é assim que queremos enviar; Preencho os campos Subject e Comment com "titulo" e "corpo", respectivamente:

Com estas configurações já podemos agora executar nossa transformação, que deve enviar o email para o destinatário que definimos no campo "destinatario" do "Data Grid".

Segue abaixo a imagem do email recebido após a execução:

Neste link está disponível a transformação utilizada no exemplo...

Obs.: Se clicar no link deve abrir o XML da transformação diretamente no navegador. Para baixar utilize o botão direito do mouse sobre o link e selecione "Salvar link Como" ou uma ação de nome semelhante no seu navegador padrão.

Comentários

Tiago Xavier disse…
Bom dia Alessandro,

Gostaria de saber se é possivel enviar um relatório em pdf automaticamente diariamente.
Tiago Xavier disse…
Bom dia Alessandro,

Gostaria de saber se é possivel enviar um relatório em pdf automaticamente diariamente.
Alexsandro Haag disse…
Sim Tiago,
basta anexar o pdf em "Attached Files". Você pode inclusive utilizar outros steps para auxiliar no processo de automação. O "wait for file" por exemplo, poderia ficar monitorando o arquivo ser gerado em determinada pasta, para então acionar o envio do email com o documento anexado.
As possibilidades são muitas, depende da sua necessidade.

Postagens mais visitadas deste blog

[Openfire] - Ajuste de horário no cliente Spark

Verificar uso de disco em partição ASM do Oracle 11g no Linux

[Kettle] - Ajuste de Memória de Utilização