Repository navigation
Conversation
|
Templates are on the roadmap as saved snippets: greetings, sign-offs and canned responses loaded into the composer. This PR goes further than that, and changes to core behavior need an issue first (CONTRIBUTING), so I'd like to split it. Templates as a plugin: yes. Saving, editing and inserting templates from the composer, with variables filled in when the template is inserted (date, the recipient's name from the contact). That keeps everything in the plugin and the composer, with no change to how mail is sent. Personalized delivery: not for now. Resolving content per recipient at send time changes the send path for every message: each send goes through a new content hook, one Send becomes one SMTP delivery per recipient (Bcc included), each copy gets its own Message-ID, so replies no longer thread together, and a stop partway through leaves a partially delivered message. As I read it, servers that don't save sent mail themselves would also get one Sent copy per recipient. That is mail merge, which I'm not planning to add to the core, partly because on a hosted instance it is also a bulk-mail tool. If you want to make the case for it, please open an issue rather than code. Order. CONTRIBUTING asks for one open pull request per author, and #686 and #693 are open too. Let's finish #686 first; then a snippets-only version of this can follow, as this PR updated or a new one. |
Summary
Introduces a new Templates plugin for creating, managing, and inserting reusable email templates with dynamic variables and placeholders.
Adds recipient-specific personalization for outgoing and scheduled emails, allowing each recipient to receive an individually customized message while maintaining proper Bcc privacy and delivery tracking.
Related Issues
This PR addresses the email template functionality discussed in:
#77 - Original discussion proposing reusable email templates and snippets.
#438 - Visual Template Builder plugin for rich HTML email creation.
#684 - Request for email templates to simplify composing recurring messages.
Changes
Screenshots
Testing
Contributor License Agreement
By submitting this pull request I confirm that:
third-party material and confirmed it is compatible with the CLA).