htmlemailpentahopdispoon

Send HTML formatted mail from Pentaho


I need to loop through a database table and send a html formatted mail.

Nothing complex, a text value followed by a hyperlink. enter image description here

I tried with xml and xsl transformation but couldn't get desired results.

ALso, advise on whether its better to construct hyperlink in PostGressql or is it okay from Pentaho

I tried with a Table Input and a Javascript step. Thing is it outputs for each row. i need to combine and concatenate each row output to form result HTML

enter image description here


Solution

  • With Pentaho: get your data with a table input, make the html (for example with a java script), get the mail parameters (addresse, attachement, etc,...) from a grid or a constant step, and give the whole to the mail step.

    enter image description here

    With the javascript you built a -tag by row named html, but you need only one message. So you group them with a Group by step (no Group field, subject=html, type=Concatenate strings separated by, value=empty). You can then drop it in the Mail step.

    But the Mail step needs some more information (recipient, sender, subject, server, port,...). You can put them in the flow with a Constant step.

    In view of your use-case, it may surprise you that you have to put this data in the flow rather than to feed a box in the Mail step. This is because this step is designed to send a mail personalized for each recipient.

    And now that you know how to do it, refrain from sending 100000 mails to every one you can.