PHPackages                             undkonsorten/email-template - 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. [Templating &amp; Views](/categories/templating)
4. /
5. undkonsorten/email-template

ActiveTypo3-cms-extension[Templating &amp; Views](/categories/templating)

undkonsorten/email-template
===========================

Build table based E-Mail templates with Inky tags.

1.1.0(1y ago)098GPL-2.0+CSSPHP ^7.2 || ^7.4 || ^8.1

Since Mar 14Pushed 1y ago4 watchersCompare

[ Source](https://github.com/undkonsorten/email_template)[ Packagist](https://packagist.org/packages/undkonsorten/email-template)[ RSS](/packages/undkonsorten-email-template/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (4)Used By (0)

Email Template
==============

[](#email-template)

**Extension-Key:** email\_template

**Dependencies:**

- TYPO3: Version 11.5, 12.4, 13.3
- EXT: html\_mail\_utility

What does it do?
----------------

[](#what-does-it-do)

The *Email Templates* provides responsive newsletter templates for TYPO3 bases on **Foundation for Emails 2 (formerly Inky)** (). The Foundation-Inky templates can be used directly in fluid and will be translated into a bulletproof oldfashioned HTML table code. This templates can be used to build templates for a Newsletter in TYPO3.

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

[](#installation)

### Composer Install

[](#composer-install)

Use

```
composer require undkonsorten/email-template

```

The dependency `html_mail_utility` will be installed automatically by composer.

### Non-Composer mode

[](#non-composer-mode)

Using without composer ist not supported!

### Include TypoScript Setup

[](#include-typoscript-setup)

Include the TypoScript templates for

- HTML Mail Utility (html\_mail\_utility)
- Content Elements (fluid\_styled\_content)
- the default template:
    - Newsletter HTML mail rendering (email\_template): includes the Main/setup.typoscript
    - Newsletter Plaintext rendering (email\_template)
- ? What about html mail utility ?

### Include: Page TSConfig

[](#include-page-tsconfig)

Include for your newsletter folder the pageTsConfig (from extensions):

- EmailTemplate Default PageTS (email\_template): Includes a one columned BE-Layout and some other default things
- EmailTemplate BE Layout One Column: Includes only Page TS for a default BE-Layout

---

### Configuration

[](#configuration)

Most of the needed settings can be defined with constants in the TYPO3 constant editor. Important settings are

- `plugin.tx_emailtemplate.htmlMail.typeNum`: This page type will be used for rendering of the email. By default it is 1485434607. Use it in browser to see the used html code on email sending.
- `plugin.tx_emailtemplate.plainText.typeNum`: The page type for plain text rendering of the email should be defined. By default it is 1485434634

Look at the TypoScript files in `Configuration/TypoScript` folders to see which more settings you can use in your own TypoScript template.

### Using Foundation Frontend build

[](#using-foundation-frontend-build)

Globally install it and check out the rest from the guide \[\]:

```
sudo npm install --global foundation-cli

```

It's important to use the output of

```
npm run start

```

If you use the *npm run build* unused CSS classes might be removed. You should remove inline source mapping from the resulting app.css, though.

To create the *app.css* run foundation with `npm run build`

#### app.css

[](#appcss)

The *app.css* file will be inlined in markup by the TYPO3 Extension HTMl Mail Utility. The app.css can be found in the dist/css folder.

#### inject.css

[](#injectcss)

The *inject.css* will be included in as a style tag in TYPO3.

The *inject.scss* only be created by the `npm run build` command. There will be an inlined `@media ...` block in the output. Out of this styles you manually need to create the *inject.css* file and add it to you Css folder (Public Resources).

This helps to keep footprint of included style rules low (just pseudo elements and media queries).

### Included CSS files in TYPO3

[](#included-css-files-in-typo3)

Defined CSS files via the TS constants:

```
plugin.tx_emailtemplate.cssFile = EXT:my_theme_extension/Resources/Public/Css/app.css
plugin.tx_emailtemplate.injectCssFile = EXT:my_theme_extension/Resources/Public/Css/inject.css

```

Page Types
----------

[](#page-types)

The HTML newsletter is sent out with a custom page type for the mails (see Constants). If the newsletter is shown without this page type the *read online link* and the *unsubscribe link* are not rendered.

Newsletter Content
------------------

[](#newsletter-content)

### Page Properties of the Newsletter Page

[](#page-properties-of-the-newsletter-page)

- Page Title:
    - is used for the Subject of the newsletter
    - is used in the template for the newsletter for the edition line (Fluid: {data.title})
- Page Subtitle
    - can be called in the Fluid template via {data.subtitle}
- Page Description
    - is used for the normally visually hidden Foundation "preheader". The preheader will display in email clients like Outlook, Gmail etc. It prevents the line "Read this newsletter online" to be shown as preview/abstract in those email clients. It should have a length of 50-100 characters.
    - a fallback can be defined via the constant defaultDescription in case the editor does not fill in the page description

### Newsletter Content Elements

[](#newsletter-content-elements)

The newsletter can display the following content elements

- Content-Menu (Special Menus with the Menu Type \*Section index (page content marked for section menus). Here only content elements will be listed with have checked the field *Show in Section Menus* in the Appearance Tab
- Headlines (just a header without Text)
- Text-Media for Images and text (with image above, left, right) or just only text
- Divider (for a horizontal divider between the content elements)
- Plugins

#### Add rendering of your own content elements or other plugins

[](#add-rendering-of-your-own-content-elements-or-other-plugins)

To add rendering for your own CTypes or Plugins you need to do following steps in general:

- For plugins (e.g. news) include the TypoScript configuration of the extension (in your SitePackage or directly in the DB in sys\_template data)
- add the new CType to your page TS-Config if you are using the page TS configuration from `email_template`. **Add this after the include of page TS configuration from `email_template`!**

```
# page ts example to add news plugin type to the allowed items
TCEFORM.tt_content {
  # Define used CTypes in newsletter.
  CType {
    keepItems := addToList(news_newsselectedlist)
  }
}

```

- extend the `plugin.tx_emailtemplate.lib.column.renderObj` TS-Object. Copy `text` object to get all the default properties from `email_template`

```
# example for news plugin
plugin.tx_emailtemplate {
  lib.column {
    renderObj {
      news_newsselectedlist < .text
    }
  }
}

```

For Plugins the `Generic.html` template in `project/vendor/undkonsorten/email-template/Resources/Private/Content/Templates`is used.

- Usage of other template files for Extensions/Plugins like news can you define in normal way. Set new paths within the constants or setup of the Extensions.
- If you want to use your own template files for custom CTypes (not Plugins/Extensions) set paths in TS Constants and add your own template files for the CTypes to your SitePackage. Using Constant Editor is possible for this.

```
plugin.tx_emailtemplate {
    view.content {
        templateRootPath =
    }
}

```

Test your template:
-------------------

[](#test-your-template)

- [Testi@](https://testi.at)
- [Chrome Extension Testi](https://chrome.google.com/webstore/detail/testi-live-email-testing/hbgeikbbpfjgcicclnjcokjapbgkkfkd)

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~211 days

Total

2

Last Release

574d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a192083f4fc05fe8020592c9b5222677998fcf0e779df21ecb51016d8fd45f98?d=identicon)[undkonsorten](/maintainers/undkonsorten)

---

Top Contributors

[![kanow](https://avatars.githubusercontent.com/u/16071530?v=4)](https://github.com/kanow "kanow (9 commits)")

### Embed Badge

![Health badge](/badges/undkonsorten-email-template/health.svg)

```
[![Health](https://phpackages.com/badges/undkonsorten-email-template/health.svg)](https://phpackages.com/packages/undkonsorten-email-template)
```

###  Alternatives

[fluidtypo3/vhs

This is a collection of ViewHelpers for performing rendering tasks that are not natively provided by TYPO3's Fluid templating engine.

1954.1M48](/packages/fluidtypo3-vhs)[bk2k/bootstrap-package

Bootstrap Package delivers a full configured frontend theme for TYPO3, based on the Bootstrap CSS Framework.

357891.4k72](/packages/bk2k-bootstrap-package)[helhum/typoscript-rendering

Can render a TypoScript path by URL, especially useful for Ajax dispatching

68653.7k12](/packages/helhum-typoscript-rendering)[sitegeist/fluid-components

Encapsulated frontend components with Fluid's ViewHelper syntax

55339.1k3](/packages/sitegeist-fluid-components)[sitegeist/fluid-styleguide

Living styleguide for Fluid Components

16227.4k1](/packages/sitegeist-fluid-styleguide)[bmack/modern-template-building

A homage to the old-style marker-based templating of TYPO3. Includes TEMPLATE and FILE cObjects.

1413.8k3](/packages/bmack-modern-template-building)

PHPackages © 2026

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