Dependency on sendmail and email generation questions

Use this forum for all questions related to the source code of OpenEMM

Moderator: moderator

Posts: 46
Joined: Sun Jun 24, 2012 9:58 pm

Dependency on sendmail and email generation questions

Post by Anton » Sun Jun 24, 2012 10:26 pm

I am trying to work out just how things work - can someone tell me if I understand correctly please? I am trying to understand specifically how newsletter sends are done - transactional emails can be done differently - it is the bulk send workflow that I'm trying to understand. If there are any source code files that will make things easier to understand then please list them. My Java is ok though my C is very rudimentary. I should be able to understand it if I know what I should be looking for!

So, I guess that it seems that there is the following:

- Email programming is triggered (is this done by cron or by a timer in the app?)

- Java code does db queries and constitutes the list of recipients and merge fields, gets the template and roles these up into XML files of N (by default 1000) recipients.

- C code takes XML input file and then converts into sendmail-compatible spool file which gets (somehow) submitted to sendmail.

If this is about right, is that *all* the C code does with sendmail? If that is all it does, then it seems that it wouldn't be too difficult to convert this to something else, no? Like postfix, qmail or some other format (can't they all use similar spool formats? I have no idea of course...)? Or even leave it in XML (so C could even almost be just XSL in the most basic case)?

I suppose I also don't really understand how the templating engine works - I was very interested to know what the "dynamic" templating engine does. Do I understand correctly that this is new in 2012? Does this allow things like:

if not [Firstname] is null then
Hello [Firstname],
Hello my friend,

? Or is this already possible and I just can't work out how?
Thanks very much for your time!
ps. I am from New Zealand, so if you give me the source docs for the 2012 install doc, then I will correct some small mistakes and then you will have had contributors from every continent :-).