From c59477c36d1c86eb74c8d36cf93e94a462cd593f Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen.haas@lakedrops.com>
Date: Fri, 9 Feb 2024 16:24:20 +0100
Subject: [PATCH] composer/plugin/docker4drupal#65 Add support for symfony
 mailer as a replacement for the smtp module

---
 src/Handler.php                    |  7 +++++++
 templates/settings.docker.php.twig | 16 ++++++++++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/src/Handler.php b/src/Handler.php
index 6d9c524..89fd8b0 100644
--- a/src/Handler.php
+++ b/src/Handler.php
@@ -142,6 +142,13 @@ class Handler extends BaseHandler {
         'returnpath' => $this->env->receiveGlobal('MAILPIT_RETURNPATH', 'MailPit Bounce Address'),
         'recipientallowlist' => $this->env->receiveGlobal('MAILPIT_RECIPIENT_ALLOW_LIST', 'MailPit Regex for allowed recipients'),
       ],
+      'symfony_mailer' => [
+        'enable' => 0,
+        'host' => '',
+        'port' => 25,
+        'username' => '',
+        'password' => '',
+      ],
       'varnish' => [
         'enable' => 0,
       ],
diff --git a/templates/settings.docker.php.twig b/templates/settings.docker.php.twig
index 709248a..6ce9200 100644
--- a/templates/settings.docker.php.twig
+++ b/templates/settings.docker.php.twig
@@ -33,8 +33,19 @@ $databases = array(
     ),
   ),
 );
-{% if not drupal.live|default(0) or mailhog.enable or mailpit.enable %}
-$config['system.mail']['interface']['default'] = 'SMTPMailSystem';
+{% if not drupal.live|default(0) or mailhog.enable or mailpit.enable or symfony_mailer.enable %}
+$config['system.mail']['interface']['default'] = '{% if symfony_mailer.enable %}symfony_mailer{% else %}SMTPMailSystem{% endif %}';
+{% if symfony_mailer.enable %}
+$config['system.mail']['mailer_dsn'] = [
+  'scheme' => 'smtp',
+  'host' => '{% if mailpit.enable %}mailpit{% elseif mailhog.enable %}mailhog{% else %}{{ symfony_mailer.host }}{% endif %}',
+  'port' => {% if mailpit.enable or mailhog.enable %}1025{% else %}{{ symfony_mailer.port }}{% endif %},
+{% if not mailpit.enable and not mailhog.enable %}
+  'user' => '{{ symfony_mailer.username }}',
+  'password' => '{{ symfony_mailer.password }}',
+{% endif %}
+];
+{% else %}
 $config['smtp.settings']['smtp_on'] = TRUE;
 $config['smtp.settings']['smtp_host'] = '{% if mailhog.enable %}mailhog{% else %}mailpit{% endif %}';
 $config['smtp.settings']['smtp_hostbackup'] = '';
@@ -42,6 +53,7 @@ $config['smtp.settings']['smtp_port'] = '1025';
 $config['smtp.settings']['smtp_protocol'] = 'standard';
 $config['smtp.settings']['smtp_username'] = '';
 $config['smtp.settings']['smtp_password'] = '';
+{% endif %}
 
 $settings['danse_notification_delivery'] = {{ drupal.danse_notification_delivery|default('FALSE') }};
 {% endif %}
-- 
GitLab