by Friends of Shopware
Mail Archive is the official open-source plugin developed by Friends of Shopware. It archives outgoing Shopware 6 emails in the database and makes them available directly within the Shopware Administration. This allows administrators to review, search, and resend previously sent messages whenever required.
Centralized email archiving simplifies customer communication tracking and helps merchants, support teams, and developers maintain a complete history of outgoing emails.
Key Features at a Glance
Mail Archive is an excellent choice for merchants, agencies, support teams, and developers who want to centrally archive outgoing emails and simplify communication tracking.
Open Source and License Notice
This plugin is based on the open-source project Mail Archive by Friends of Shopware and is distributed through our platform. Unless stated otherwise, this plugin is provided under the terms of the MIT License. The original copyright notice and the full license text are included in the plugin package.
Copyright (c) Friends of Shopware
The software is provided "as is", without warranty of any kind, to the extent permitted by applicable law. The terms of the MIT License shall prevail. You can find the full license text in the plugin package and at: https://github.com/FriendsOfShopware/FroshPlatformMailArchive/blob/main/LICENSE.md.
Source: Github Repository
Archived mails can now be deleted from the administration again. Deletion removes the archive, its attachments, and the stored EML file, while inserts and updates remain restricted to the system scope.
frosh_mail_archive:delete privilege, and failures now display the API error detail or a fallback message (#164, @shyim).Full Changelog: https://github.com/FriendsOfShopware/FroshPlatformMailArchive/compare/3.8.2...main
No user-facing changes.
The administration build now resolves the plugin’s relative ESM imports correctly on Shopware 6.6.
.js filenames to administration imports, fixing builds that failed when Shopware 6.6’s strict ESM resolver encountered extensionless file and directory imports (#162, @shyim).Full Changelog: https://github.com/FriendsOfShopware/FroshPlatformMailArchive/compare/3.8.0...main
The mail detail page now shows the CC and BCC recipients of archived mails, old archive entries can be cleaned up from the console, and bulk resends no longer fail on mailers with a concurrent connection limit.
CC and BCC recipients are shown in the mail detail metadata, read from the stored .eml file, so no schema change or migration is required. Mails without those headers display -; mails archived without an EML file (or whose EML cannot be read) simply show no values. The data comes from a new Administration endpoint (POST /api/_action/frosh-mail-archive/fetch-eml-headers) that requires the archive read permission, so users with view access see it too. (#160, @shyim)
New console command to trigger the mail archive cleanup on demand:
bin/console frosh:mail-archive:cleanup
The command queues the cleanup as a message and returns immediately; archived mails and their .eml files are deleted when the message queue worker processes it, which makes the run observable from cron monitoring tools such as Oh Dear. Retention is still controlled by "Automatically delete emails older than specified days" in the plugin configuration (0 disables deletion). The daily scheduled task now uses the same message and handler. (#119, @wannevancamp)
400 Bad Request. If a send fails, the remaining mails are skipped and an error notification is shown, while the selection is reset, the listing refreshed and the loading indicator cleared. Mails are therefore sent slightly slower than before. (#116, @Niebvelungen)Full Changelog: https://github.com/FriendsOfShopware/FroshPlatformMailArchive/compare/3.7.1...main
frosh_mail_archive:update to frosh_mail_archive:resend, existing roles need this permission reassigned (#155)zbateson/mail-mime-parser version to ^3.0.6 (#155)X-Frosh-Message-ID header, the old header is still read (#149)To, Cc and Bcc recipients on top of the new ones (#155)services.xml to services.yaml and replacing EntitySearchResult::first() (#150).eml path and validate the mail ID before writing archive files (#155)Discover our most popular extensions, trusted by Shopware stores worldwide to improve functionality, performance, and growth.