You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
release: dev → main (email pipeline refactor + forwarding, placeholders, tracking, attachments) (#378)
* Feat: message sending-forwarding (#374)
* UserPersonalizer in CampaignProcessorMessageHandler
* HtmlToText
* MessageDataLoader
* TextParser
* RemotePageFetcher
* Use repo methods
* Use MessagePrecacheDto
* Refactor
* Todo
* SystemMailConstructor
* EmailBuilder
* InjectedByHeaderSubscriber
* TemplateImageManager
* ExternalImageCacher
* TemplateImageEmbedder
* Mailer
* RemotePageFetcherTest
* TextParserTest
* MessageDataLoaderTest
* MessageDataLoaderTest
* Test fix
* Fix: phpmd
* Fix: phpcs
* After review 0
* After review 1
* Add tests
* EmailBuilderTest
* update coderabbit.yaml
* Add tests
* MailSizeChecker
* Feat/email building with attachments (#375)
New Features
PDF generation for messages, per-subscriber remote-content fetching, tracking-pixel user tracking, and richer attachment handling with downloadable copies.
Improvements
Unified email builder flow with consistent composition and multi-format output (HTML/Text/PDF); expanded, context-aware placeholder personalization (many URL/list resolvers); improved remote-content precaching and output formatting; new configurable parameters and translations.
---------
Co-authored-by: Tatevik <tatevikg1@gmail.com>
* Feat: email forwarding (#377)
- Message forwarding: send campaigns to friends (optional personal note), per-user limits, admin notifications on success/failure, and forwarding statistics; forwarded messages prefixed "Fwd".
- Admin-copy emails: configurable toggle to send admin copies and select recipients.
---------
Co-authored-by: Tatevik <tatevikg1@gmail.com>
* Cutoff from forward_email_period config
* ForwardingResult
* Remove MessageFormat consts
* Testing bundle
* After review 3
* MessageDataLoader types
* Fix HTMLPurifier_Config
---------
Co-authored-by: Tatevik <tatevikg1@gmail.com>
* AttachmentDownloadService (#379)
New Features
Attachment download service that validates access, resolves files, detects MIME types, and returns downloadable content.
Lightweight downloadable attachment DTO and a new exception for missing attachment files.
Public constant to mark forwarded attachments.
Bug Fixes
Attachment download links now use a path-based format with encoded UID.
* Feat: user message open tracking (#380)
New Features
Message view tracking: records when subscribers view messages and captures metadata (IP, User-Agent, referer).
Enhancements
Quick actions to mark messages as viewed and to check viewed status.
Message view counters now increment when viewed.
Refactor
Repository lookup renamed for consistency and callers updated.
Chores
Switched REST API parameter to a base URL and updated tracking image path.
* Remove 'to' from MessagePrecacheDto (#381)
Refactor
Recipient addresses are now passed explicitly throughout the email pipeline for clearer, more reliable message construction and handling.
Subscriber creation now requires an email at instantiation, enforcing consistent initialization.
Bug Fixes
Admin notification filtering relaxed so system notifications are handled more consistently even when recipient info is missing.
* Upgrade guzzle
* Fix: manager configuration
* Subscriber getFilteredAfterId innerJoin => lefftJoin
* Add: SubscriberFilter options
* Fix: subscriber prop name in query builder condition
* PaginatedResult
* remove sorting
* Add getSubscriberDetails method
* Add: front-end url
* Fix: ExtraData
* Add:getSummaryStatistics
* Add: getCampaignPerformance, getRecentCampaigns
* Ref: FilterRequestInterface
* Ref: PaginatedFilter base class
* Fix: types
* Add: updateSubscriberList
* Add: fields to export
* Fix: subscriber attribute resolution
* Fix: subscribers getFilteredAfterId
* createSubscriptions with autoConfirm
* uniqueByMessageId
* todo
* Fix: metadata processed
* Campaign processing for handling specific lists
---------
Co-authored-by: Tatevik <tatevikg1@gmail.com>
0 commit comments