I'm trying to be able to send as much emails as possible. Beside doing more stuff in parallel (eg run several cronjobs in parallel on separate batch of contacts), I'm trying to find a way to improve civimail

One easy win seems to use the smtp delivery mechanism and keep the smtp connection open for the duration of the batch. The library we use offers this option with keepConnection=true but I don't see it used in civimail

Am I missing something? Is this a path that has been explored?

  • Could you say more about your current environment? Are you running your own MTA or using a third party? Which MTA/third party? May 4 '15 at 13:15
  • RIght now, my own MTA (postfix) but planning to move to mailjet soon (decent prices, and not US based)
    – Xavier
    May 4 '15 at 13:16

I think at some point we did do that. However, we also noticed that some smtp mailers are not very good at reporting back errors and jobs would hang / not deliver email. We put in some code to get around that and periodically check for the connection to be alive and valid

We do check the 'persist' flag in the mailer library.Check


for more details

  • Ah ok, was looking at the wrong library (ezc instead of pear). Still something weird, I will need to setup a fake smtp server to log what's happening for real.
    – Xavier
    May 4 '15 at 16:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.