Commit Graph
380 Commits
Author SHA1 Message Date
Tania Sanz e0bf0f628a feat: make MAIL FROM subdomain configurable via MAIL_FROM_SUBDOMAIN env var 2026-05-12 20:35:53 +02:00
Dries Augustyns 715961c007 fix: handle undefined path in footer component for improved stability 2026-05-12 08:35:12 +02:00
Dries Augustyns ccd516e4e8 feat: add Markdown cut link to footer and page for improved accessibility 2026-05-12 08:07:57 +02:00
Dries Augustyns 649bbf6d6b fix: enhance Quick Start card layout for improved responsiveness and usability 2026-05-10 13:57:46 +02:00
Dries Augustyns e43f70d8a1 fix: update activity item colors and backgrounds for improved visual distinction 2026-05-10 11:59:54 +02:00
Dries Augustyns f22da4add1 feat: implement caching for recent activity count to optimize performance and reduce database load 2026-05-10 11:37:31 +02:00
Dries Augustyns de6335e999 feat: implement bulk contact action selector for improved flexibility in bulk operations 2026-05-10 10:40:40 +02:00
Dries Augustyns 7658a59b5d feat: enhance campaign scheduling and audience settings UI for better clarity and usability 2026-05-10 09:52:25 +02:00
Dries Augustyns aaf5ac6530 feat: refactor template editing layout for improved usability and clarity 2026-05-10 09:24:21 +02:00
Dries Augustyns c6340a1dc7 feat: add workflow duplication functionality with API endpoint and UI button 2026-05-09 16:51:36 +02:00
Dries Augustyns 4ba43dd3b6 feat: add external link to edit email templates in SendEmailStepDialog and WorkflowBuilder 2026-05-09 16:36:47 +02:00
Dries Augustyns d11495061d feat: add search functionality to campaigns list with debounce effect 2026-05-09 09:10:17 +02:00
Dries Augustyns fadc19d139 feat: Ability to change subscription status in workflows 2026-05-09 08:43:05 +02:00
Dries Augustyns 2ea1802290 fix: update TemplateSearchPicker to maintain selected template name on change 2026-05-08 08:03:15 +02:00
Dries Augustyns 15bdcf6e49 seo: Enhance copy of landing page 2026-05-07 09:21:30 +02:00
Dries Augustyns 2529c9b428 fix: enhance campaign finalization process to handle pending emails and ensure accurate status updates 2026-05-06 21:48:54 +02:00
Dries Augustyns 4ddafdc041 docs: expand documentation with new sections on importing contacts, unsubscribe pages, and API key management 2026-05-06 21:37:00 +02:00
Dries Augustyns 88be252a29 seo: add comparison pages for Mailjet, Buttondown, and Amazon SES 2026-05-06 20:21:49 +02:00
Dries Augustyns db5dfc46ce seo: add MX record checker and header checker tools 2026-05-06 19:40:25 +02:00
Dries Augustyns e2ce5d4e96 seo: Add dkim, dmarc, spf check 2026-05-06 17:06:14 +02:00
Dries Augustyns 735acff454 feat: add sanitize-html for improved email content sanitization 2026-05-06 11:06:50 +02:00
Dries Augustyns 1193d6c7e6 log: remove detailed logging of full SES notification for inbound email 2026-05-06 10:46:47 +02:00
Dries Augustyns 62661ae45f log: improve logging for inbound email notifications and enhance email content parsing 2026-05-06 10:37:39 +02:00
Dries Augustyns 4587e9d670 fix: enhance email content parsing and logging for better debugging 2026-05-05 20:35:36 +02:00
Dries Augustyns 88a8a02e53 ui: add SVG favicon and update favicon links for consistency 2026-05-05 08:34:41 +02:00
Dries Augustyns cbb3bffcf4 fix: update middleware matcher to exclude webmanifest files 2026-05-05 08:25:51 +02:00
Dries Augustyns 361ec0b1eb refactor: convert forwardRef components to function components for consistency 2026-05-04 21:08:14 +02:00
Dries Augustyns ed9027b4ef refactor: implement step dialog components for workflow editing 2026-05-04 20:25:19 +02:00
Dries Augustyns d1f357c300 fix: update segment filter logic to retain value and unit, enhance activity name mapping 2026-05-04 19:39:32 +02:00
Dries Augustyns a126563542 fix: update segment filter logic to retain value and unit, enhance activity name mapping 2026-05-04 19:35:29 +02:00
Dries Augustyns a3cc62213f feat: add segment membership operators and enhance segment filter functionality 2026-05-04 19:07:04 +02:00
Dries Augustyns 2d05c3fbc1 refactor: remove unused .png files 2026-05-04 18:17:31 +02:00
Dries Augustyns 1b09ec1e13 ui: enhance Open Graph image dimensions and styling for improved social sharing 2026-05-04 18:14:55 +02:00
Dries Augustyns 0f00ca1b8c feat: add 'notTriggeredWithin' operator to segment filters for enhanced event tracking 2026-05-04 18:04:24 +02:00
Dries Augustyns 7615b62945 fix: update not found handling in GET route to return 404 response 2026-05-04 14:09:19 +02:00
Dries Augustyns ba23a1c6fa fix: replace font loading method with utility function for improved performance 2026-05-04 12:45:15 +02:00
Dries Augustyns 4b5815c1d6 ui: update Open Graph and Twitter card images for various pages to enhance social sharing 2026-05-04 12:32:51 +02:00
Dries Augustyns 5724ab9536 feat: add project switching functionality to command palette 2026-05-02 16:28:25 +02:00
Dries Augustyns 0c15cc84df seo: update descriptions for Brevo, Customer.io, and other email alternatives to enhance clarity and appeal 2026-05-02 15:02:23 +02:00
Dries Augustyns a729789922 seo: add spam checker tool with analysis for email content and subject lines 2026-05-02 14:03:58 +02:00
Dries Augustyns 48425d1df1 feat: implement early fraud warning handling in webhooks 2026-05-01 21:55:32 +02:00
Dries Augustyns 532293e52a Resolve linting errors 2026-05-01 19:55:58 +02:00
Dries Augustyns bb72911fa2 feat: enhance contact addition with bulk email lookup and subscription options 2026-05-01 19:44:48 +02:00
Dries Augustyns 9fafeb7d4b ui: adjust spacing for customer logos section 2026-05-01 10:57:37 +02:00
Dries Augustyns 11ea9d5e12 ui: define type for customers array 2026-05-01 10:43:54 +02:00
Dries Augustyns b73927067f ui: add customer logos for SnowSEO and Viral 2026-05-01 10:39:42 +02:00
Dries Augustyns 4b65e718ad ui: add customer logos for Dodo Payments, Krumzi, and Waidwissen 2026-04-30 17:50:25 +02:00
Matthias Endler 11c428d4ff fix(ses): emit List-Unsubscribe inside the header section, not the body
The raw MIME template in sendRawEmail produced a blank line between Content-Type and List-Unsubscribe whenever no custom headers were passed, because the ternary for custom headers expanded to an empty string surrounded by newlines.

Per RFC 5322 §2.1 a blank line terminates the header section, so List-Unsubscribe ended up as the first line of the body. Lenient clients (Gmail, Outlook) recover; strict clients (Thunderbird) do not, breaking one-click unsubscribe and degrading Gmail/Yahoo bulk-sender deliverability signals.

Collect optional headers (custom + List-Unsubscribe) into an array, filter empties, and append them to the Content-Type line with a single newline separator. No codepath can now produce a blank line inside the header block.
2026-04-30 15:20:06 +02:00
Dries Augustyns 2eb407993b feat: add configurable attachment limits for email service
Closes #358
2026-04-29 08:48:03 +02:00
Dries Augustyns 10946511b0 feat: enhance contact data handling by filtering empty strings and allowing null to delete fields 2026-04-27 16:59:18 +02:00