Answers.Body: <p>Traditional mails are mailings sent with the old WYSIWYG interface that is part of CiviCRM &quot;core&quot;, i.e. not Mosaico, the block layout editor, provided by the <a href="https://civicrm.org/extensions/email-template-builder" rel="nofollow noreferrer">Mosaico extension</a>.</p>
  <p>Quoting a random comment in Flexmailer:</p>
  <blockquote>
  <p>FlexMailer is [...] a heavily reorganized version of the old MailingJob::deliver*() functions</p>
  </blockquote>
  <p>If I recall correctly, one of the aims of Flexmailer was to deprecate large chunks of CiviMail code that have become a bit messy. Many function in <code>CRM_Mailing_BAO_Mailing</code> have been flagged as deprecated as a result. Message Templates are not affected.</p>
  <p>Mosaico depends on Flexmailer, but to avoid disruption, CiviCRM lets administrators opt-in to the new flexmailer delivery features, using the setting you mention (Traditional Mailing Handler).</p>
  <p>At some point in the future, CiviCRM will default to always using Flexmailer (which is why it is now shipped in core).</p>
  <p>So if the setting is set to:</p>
  <ul>
  <li>Automatic: The opt-in will be done when CiviCRM decides to enable it.</li>
  <li>BAO: Force the old behaviour, assuming that when &quot;automatic&quot; switches to Flexmailer, there will be a grace period to allow still using the old code.</li>
  <li>Flexmailer: force traditional mailings to use the new Flexmailer delivery code.</li>
  </ul>
  <p>You probably know more about Flexmailer than I do, but it's a good question and it did not have any answers. Feel free to correct me if I got anything wrong!</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-08-01T14:40:20.843Z
Answers.LastActivityDate: 2021-08-01T14:40:20.843Z
Answers.UserDisplayName: bgm
Body: <p>I've used Flexmailer as an extension for ages because it was required for Mosaico. It is now in core (as well as the extension, so not sure which one gets used).</p>
  <p>But I don't understand when it's used and what the implications of it are.</p>
  <p>The settings in <strong>Administer » CiviMail » Flexmailer</strong> say:</p>
  <blockquote>
  <p>Traditional Mailing Handler</p>
  <p>For greater backward-compatibility, process &quot;traditional&quot; mailings with the CiviMail's hard-coded BAO.</p>
  <p>For greater forward-compatibility, process &quot;traditional&quot; mailings with Flexmailer's extensible pipeline.</p>
  </blockquote>
  <p>I don't understand what traditional mailings are - perhaps it's everything except Mosaico mailings?</p>
  <p>Specificially, if I send:</p>
  <ol>
  <li>a CiviMail mailing without Mosaico</li>
  <li>a CiviMail Mosaico mailing</li>
  <li>a MessageTemplate with the MessageTemplate.send API</li>
  <li>a MessageTemplate where the template comes via <a href="https://github.com/civicrm/org.civicrm.mosaicomsgtpl/" rel="noreferrer">Mosaico message template</a> with the MessageTemplate.send API</li>
  <li>a MessageTemplate with the Email.send from the <a href="https://lab.civicrm.org/extensions/emailapi/" rel="noreferrer">Email API extension</a> used by CiviRules and FormProcessor and possibly others</li>
  <li>a MessageTemplate where the template comes via Mosaico message Template, sent with the email api extension.</li>
  <li>Some other internally generated message, e.g. the one you might get when an activity is assinged.</li>
  <li>Emails created from the Send Email (without CiviMail) action, which I presume is the same as when you add a <em>Send Email</em> activity(?)</li>
  <li>Scheduled Reminder emails.</li>
  </ol>
  <p>Then</p>
  <ul>
  <li><p>which system would be used when Flexmailer is set to Auto?</p>
  </li>
  <li><p>what would be the implications of having flexmailer forced in the settings?</p>
  </li>
  <li><p>any other things I ought to know ;-)</p>
  </li>
  </ul>
  
Tags: <flexmailer>
Title: Flexmailer and BAO mailer confusion
ThreadText: # Flexmailer and BAO mailer confusion
  
  (Asked by: username_0 on 2021-01-21)
  
  I've used Flexmailer as an extension for ages because it was required for Mosaico. It is now in core (as well as the extension, so not sure which one gets used).
  
  But I don't understand when it's used and what the implications of it are.
  
  The settings in **Administer » CiviMail » Flexmailer** say:
  
  > Traditional Mailing Handler
  >
  > For greater backward-compatibility, process "traditional" mailings with the CiviMail's hard-coded BAO.
  >
  > For greater forward-compatibility, process "traditional" mailings with Flexmailer's extensible pipeline.
  
  I don't understand what traditional mailings are - perhaps it's everything except Mosaico mailings?
  
  Specificially, if I send:
  
  1. a CiviMail mailing without Mosaico
  2. a CiviMail Mosaico mailing
  3. a MessageTemplate with the MessageTemplate.send API
  4. a MessageTemplate where the template comes via [Mosaico message template](https://github.com/civicrm/org.civicrm.mosaicomsgtpl/) with the MessageTemplate.send API
  5. a MessageTemplate with the Email.send from the [Email API extension](https://lab.civicrm.org/extensions/emailapi/) used by CiviRules and FormProcessor and possibly others
  6. a MessageTemplate where the template comes via Mosaico message Template, sent with the email api extension.
  7. Some other internally generated message, e.g. the one you might get when an activity is assinged.
  8. Emails created from the Send Email (without CiviMail) action, which I presume is the same as when you add a *Send Email* activity(?)
  9. Scheduled Reminder emails.
  
  Then
  
  * which system would be used when Flexmailer is set to Auto?
  * what would be the implications of having flexmailer forced in the settings?
  * any other things I ought to know ;-)
  
  **Tags:** flexmailer
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2021-08-01. Score: 1
  
  Traditional mails are mailings sent with the old WYSIWYG interface that is part of CiviCRM "core", i.e. not Mosaico, the block layout editor, provided by the [Mosaico extension](https://civicrm.org/extensions/email-template-builder).
  
  Quoting a random comment in Flexmailer:
  
  > FlexMailer is [...] a heavily reorganized version of the old MailingJob::deliver\*() functions
  
  If I recall correctly, one of the aims of Flexmailer was to deprecate large chunks of CiviMail code that have become a bit messy. Many function in `CRM_Mailing_BAO_Mailing` have been flagged as deprecated as a result. Message Templates are not affected.
  
  Mosaico depends on Flexmailer, but to avoid disruption, CiviCRM lets administrators opt-in to the new flexmailer delivery features, using the setting you mention (Traditional Mailing Handler).
  
  At some point in the future, CiviCRM will default to always using Flexmailer (which is why it is now shipped in core).
  
  So if the setting is set to:
  
  * Automatic: The opt-in will be done when CiviCRM decides to enable it.
  * BAO: Force the old behaviour, assuming that when "automatic" switches to Flexmailer, there will be a grace period to allow still using the old code.
  * Flexmailer: force traditional mailings to use the new Flexmailer delivery code.
  
  You probably know more about Flexmailer than I do, but it's a good question and it did not have any answers. Feel free to correct me if I got anything wrong!
  
  
  ---
  
  