During the last month, one small mail related issue landed in core (#3579153: Remove fallback to sendmail_from ini setting when sending mails). Also it became clear that Drupal 12 will be released in August (provided that beta requirements are completed by May 15).
No updates were made to the merge request on #3539651: Introduce email plugins, but a couple of comments appeared (starting from #3539651-50: Introduce email plugins on the issue). The group focus is on templates / theming for the rest of the meeting.
An email declaration in a {module}.email.yml file optionally should accept a html template and/or a text template for the email body. At the time of this writing, both templates are enforced, even if only one or none at all is declared in the plugin definition. The group agrees that this is not the intended behavior.
Most of the current templating code has been ported over from layout manager. One of the effects of modelling emails after layouts is that there is now a non-standard email module subdirectory where email templates are expected - analogous to the layouts module subdirectory used by layout manager. It is unclear what the effects of this approach will be when themes are attempting to override email templates.
The group decided to remove the magic around template discovery and generated template names for now. Instead if a html and/or text template is declared in the plugin definition, the respective template needs to be declared in a hook_theme implementation as well. This is familiar to developers and it can be iterated over later if necessary.
The question was discussed whether there should be a default template for simple messages which just takes the content from a parameter. Drupal currently has something like this with SystemHooks::mail. And that mechanism is used by the email action plugin. There is indeed a use case in core for a default template.
The goal for the coming weeks is to simplify the merge request and prepare the slides for devdays. Since there is a 5 week stretch to the next regular date which includes devdays, an intermediate meeting will take place after 2 weeks.
What’s next:
- Async communication in Drupal #symfony-mailer slack channel.
- Next coding meeting takes place: April 15th 2026 at 4PM UTC+1 (CEST).
- Next planning meeting takes place: May 6th 2026 at 4PM UTC+1 (CEST).
Comments
Comment #2
znerol commentedComment #5
znerol commented