PHPackages                             frosh/frosh-platform-template-mail - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. frosh/frosh-platform-template-mail

ActiveShopware-platform-plugin[Mail &amp; Notifications](/categories/mail)

frosh/frosh-platform-template-mail
==================================

Load mail templates from theme

4.0.0(3mo ago)3096.2k↓14.3%19[5 issues](https://github.com/FriendsOfShopware/FroshPlatformTemplateMail/issues)MITPHPCI passing

Since Dec 27Pushed 3mo ago3 watchersCompare

[ Source](https://github.com/FriendsOfShopware/FroshPlatformTemplateMail)[ Packagist](https://packagist.org/packages/frosh/frosh-platform-template-mail)[ RSS](/packages/frosh-frosh-platform-template-mail/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (33)Used By (0)

Store Shopware mail templates in theme
======================================

[](#store-shopware-mail-templates-in-theme)

[![codecov](https://camo.githubusercontent.com/0d8075cfce3eabca273f41be8f81d949eabd6039db8ceb2c8cddc9c8bb9f1512/68747470733a2f2f636f6465636f762e696f2f67682f467269656e64734f6653686f70776172652f46726f7368506c6174666f726d54656d706c6174654d61696c2f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d48555057595a38305953)](https://codecov.io/gh/FriendsOfShopware/FroshPlatformTemplateMail)[![PHPUnit](https://github.com/FriendsOfShopware/FroshPlatformTemplateMail/actions/workflows/unit.yml/badge.svg)](https://github.com/FriendsOfShopware/FroshPlatformTemplateMail/actions/workflows/unit.yml)

This plugin allows to store the mails in theme instead of database. This gives us advantages like

- easier deployment
- translate it using snippets
- build your mail template using includes / extends / blocks / inheritance
- usage of theme configuration

Requirements
------------

[](#requirements)

- Shopware 6.6.0 or newer
- PHP 8.2

Installation
------------

[](#installation)

- Download latest release
- Extract the zip file in `shopware_folder/custom/plugins/`

### Export Templates

[](#export-templates)

You can use the following command to export the current templates to the file system of your theme `MyTheme` to start modifying them:

```
bin/console frosh:template-mail:export custom/plugins/MyTheme/src/Resources/views/email/
```

Template location
-----------------

[](#template-location)

Create a mail for a specific subshop or language shop (also inheritance in shops works)

Search order in example with sOrder:

custom/plugins/FroshPlatformTemplateMail/src/Resources/views/email/global/order\_transaction.state.paid/html.twig

- HTML Template

    - `custom/plugins/MyTheme/src/Resources/views/email/[en-GB]/order_transaction.state.paid/html.twig` (Language Locale)
    - `custom/plugins/MyTheme/src/Resources/views/email/[en-GB]/order_transaction.state.paid/[ID]/html.twig` (Template ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/html.twig` (Saleschannel ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/html.twig` (Language ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/global/order_transaction.state.paid/html.twig` (Default)
    - Database saved values (for right template names search in database table `mail_template_type`)
- Text Template

    - `custom/plugins/MyTheme/src/Resources/views/email/[en-GB]/order_transaction.state.paid/plain.twig` (Language Locale)
    - `custom/plugins/MyTheme/src/Resources/views/email/[en-GB]/order_transaction.state.paid/[ID]/plain.twig` (Template ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/plain.twig` (Saleschannel ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/plain.twig` (Language ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/global/order_transaction.state.paid/plain.twig` (Default)
    - Database saved values (for right template names search in database table `mail_template_type`)
- Subject Template

    - `custom/plugins/MyTheme/src/Resources/views/email/[en-GB]/order_transaction.state.paid/subject.twig` (Language Code)
    - `custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/[ID]/subject.twig` (Template ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/subject.twig` (Saleschannel ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/subject.twig` (Language ID)
    - `custom/plugins/MyTheme/src/Resources/views/email/global/order_transaction.state.paid/subject.twig` (Default)
    - Database saved values (for right template names search in database table `mail_template_type`)
- You can also nest templates. E.g.:

    - `custom/plugins/MyTheme/src/Resources/views/email/[ID]/[en-GB]/order_transaction.state.paid/html.twig` (Saleschannel ID)/(Language Locale)

MJML Support
------------

[](#mjml-support)

The plugin supports [MJML](https://mjml.io/). In the standard configuration mail templates in MJML format are processed via the service .

Known Limitations
-----------------

[](#known-limitations)

- The test mail function in the admin panel does not support the overwritten mail templates. ([\#34](https://github.com/FriendsOfShopware/FroshPlatformTemplateMail/issues/34)).

Contributing
------------

[](#contributing)

Feel free to fork and send pull requests!

Licence
-------

[](#licence)

This project uses the [MIT License](LICENCE.md).

###  Health Score

56

—

FairBetter than 98% of packages

Maintenance75

Regular maintenance activity

Popularity45

Moderate usage in the ecosystem

Community22

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 76.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~71 days

Recently: every ~148 days

Total

32

Last Release

118d ago

Major Versions

1.0.0 → 2.0.02023-02-21

2.0.2 → 3.0.02024-01-26

2.x-dev → 3.0.12024-02-10

1.1.1 → 3.0.22024-04-13

3.0.7 → 4.0.02026-01-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/7c45ef9077b73fce78afbfab2fa27e611a453dd77de003e2785ac84105d02bef?d=identicon)[shyim](/maintainers/shyim)

---

Top Contributors

[![shyim](https://avatars.githubusercontent.com/u/6224096?v=4)](https://github.com/shyim "shyim (125 commits)")[![tinect](https://avatars.githubusercontent.com/u/135993?v=4)](https://github.com/tinect "tinect (19 commits)")[![zolthan](https://avatars.githubusercontent.com/u/3035434?v=4)](https://github.com/zolthan "zolthan (5 commits)")[![stefanpoensgen](https://avatars.githubusercontent.com/u/22468102?v=4)](https://github.com/stefanpoensgen "stefanpoensgen (4 commits)")[![amenk](https://avatars.githubusercontent.com/u/1087128?v=4)](https://github.com/amenk "amenk (3 commits)")[![MelvinAchterhuis](https://avatars.githubusercontent.com/u/26538915?v=4)](https://github.com/MelvinAchterhuis "MelvinAchterhuis (1 commits)")[![nickygerritsen](https://avatars.githubusercontent.com/u/550145?v=4)](https://github.com/nickygerritsen "nickygerritsen (1 commits)")[![ntzrbtr](https://avatars.githubusercontent.com/u/49314?v=4)](https://github.com/ntzrbtr "ntzrbtr (1 commits)")[![jasperP98](https://avatars.githubusercontent.com/u/116262478?v=4)](https://github.com/jasperP98 "jasperP98 (1 commits)")[![fsor](https://avatars.githubusercontent.com/u/18391793?v=4)](https://github.com/fsor "fsor (1 commits)")[![dominikmank](https://avatars.githubusercontent.com/u/7710527?v=4)](https://github.com/dominikmank "dominikmank (1 commits)")[![Vhulcan](https://avatars.githubusercontent.com/u/5231827?v=4)](https://github.com/Vhulcan "Vhulcan (1 commits)")[![Dominik28111](https://avatars.githubusercontent.com/u/28164831?v=4)](https://github.com/Dominik28111 "Dominik28111 (1 commits)")

---

Tags

mailshopwarefrosh

### Embed Badge

![Health badge](/badges/frosh-frosh-platform-template-mail/health.svg)

```
[![Health](https://phpackages.com/badges/frosh-frosh-platform-template-mail/health.svg)](https://phpackages.com/packages/frosh-frosh-platform-template-mail)
```

###  Alternatives

[php-imap/php-imap

Manage mailboxes, filter/get/delete emails in PHP (supports IMAP/POP3/NNTP)

1.7k12.9M42](/packages/php-imap-php-imap)[zbateson/mail-mime-parser

MIME email message parser

54149.2M79](/packages/zbateson-mail-mime-parser)[php-mime-mail-parser/php-mime-mail-parser

A fully tested email parser for PHP 8.0+ (mailparse extension wrapper).

9979.6M27](/packages/php-mime-mail-parser-php-mime-mail-parser)[nette/mail

📧 Nette Mail: A handy library for creating and sending emails in PHP.

5389.8M246](/packages/nette-mail)[webklex/php-imap

PHP IMAP client

4365.5M14](/packages/webklex-php-imap)[propaganistas/laravel-disposable-email

Disposable email validator

5762.6M6](/packages/propaganistas-laravel-disposable-email)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
