Powermail is a well-known, editor-friendly, powerful and easy to use mailform extension for TYPO3 with a lots of features (spam prevention, marketing information, optin, ajax submit, diagram analysis, etc...)
⚠️ TYPO3 13 compatibility
See EAP page (DE) or EAP page (EN) for more information how to get access to a TYPO3 13 version
This combination will not work anymore in V13. If the person responsible for data security decides not to save anything into the database, no data may be saved to the database, even not in the double opt-in process.
If you need this earlier than the next major (public) release, please contact us for the extension
EXT:powermail_cleaner
. With this extension it is possible to set that for each plugin individually.
The content elements for frontend editing will be moved to a separate paid extension.
Next to extensions EXT:powermail_cleaner
, EXT:powermail_ratelimiter
and the frontend editing stuff, there will be
another paid extension EXT:powermail_powerpack
. This extension will contain additional features, we developed
throughout the last years and want to make available to the broader public, for example:
- use an email address only once per plugins
- maximum "seats" per plugin (like a very, very basic registration)
- ...
- Introduction
- Development Model
- Documentation for editors
- Documentation for administrators
- Documentation for developers
- FAQ (with a lot of stuff and best practice)
- Changelog
- Support
- Additional links
Quick guide:
- Just install this extension - e.g.
composer require in2code/powermail
- Add a static typoscript template to your root template
- Add a new form (with one or more pages and with some fields to a page or a folder)
- Add a new pagecontent (plugin) with type "powermail" and choose the former saved form
- That's all, you can view the result in the frontend
Powermail | TYPO3 | PHP | Support/Development |
---|---|---|---|
13.x | 13.x | 8.3 - 8.x | Features, Bugfixes, Security Updates |
12.x | 12.x | 8.1 - 8.2 | Features, Bugfixes, Security Updates |
11.x | 12.x | 8.1 - 8.2 | Support dropped |
10.x | 11.x | 7.4 - 8.1 | Security Updates (paid backports are possible) |
9.x | 11.x | 7.4 | Support dropped |
8.x | 10.x | 7.2 - 7.4 | Security Updates (paid backports are possible) |
7.x | 8.7 - 9.x | 7.0 - 7.4 | Support dropped |
6.x | 8.7 - 9.x | 7.0 - 7.x | Support dropped |
Do you need free support? There is a kind TYPO3 community that could help you.
You can ask questions at https://stackoverflow.com and tag your question with TYPO3
and Powermail
.
In addition there is a slack channel in the TYPO3 slack ext-powermail
.
Please look into the changelog of powermail
- email2powermail Automatically convert emails to a link to a powermail form Link
- powermailrecaptcha Google recaptcha Link
- invisiblerecaptcha Google invisible recaptcha Link
- powermailextended Is just an example extension how to extend powermail with new fields or use signals Link
- powermail_cond Add conditions (via AJAX) to powermail forms for fields and pages Link
- powermail_fastexport Extend powermail for faster export to .xlsx / .csv files. This is useful if you have many records to be exported. Link
The product owner and author of the extension is Alex Kellner from in2code. Beside that every in2code colleague is allowed to support further development if she/he wants. In addition there are a lot of other contributors that helped to improve the extension with their Pull Requests - thank you for that!
Powermail uses semantic versioning which basically means for you, that
- bugfix updates (e.g. 1.0.0 => 1.0.1) just includes small bugfixes or security relevant stuff without breaking changes.
- minor updates (e.g. 1.0.0 => 1.1.0) includes new features and smaller tasks without breaking changes.
- major updates (e.g. 1.0.0 => 2.0.0) normally includes basic refactoring, new features and also breaking changes.
We try to mark breaking changes in the changelog with a leading !!! and try to explain what to do on an upgrade (e.g. VieHelper name changed from vh:foo to vh:bar in templates).
In addition powermail is using Git Flow as Git workflow. That means that there is one branch which contains new and untested code: develop. The branch master only contains tested code which will also be tagged from time to time.
Based on release early, release often
we try to release new versions as often as possible into TER and to github/packagist.
There is a huge testparcours that have to be passed before every release. For example there is an automatic test where the browser tries to submit 18 different strings and numbers to a field that accepts only phone numbers to test serverside validation. After that the same process is done for clientside valiation. There are also some smaller tests like "Is it possible to submit a form on a page where two different forms are stored?".
See readme.md for some more information about behat and selenium tests on powermail.
At the moment powermail offers 543 (and growing) unit tests that have to be passed before every release. See more information about unit tests or code coverage in powermail in the readme.md
Beside respecting PSR-2 and TYPO3 coding guidelines, it's very important for the project to leave a file cleaner as before. Especially because it's a really large extension with a lot of functionality and a history of 10 years (!) and of course some technical debts, that have to be fixed step by step (e.g. moving logic completely to Domain folder, ...). Look at Sonarqube for some interesting details on that.
Pull requests are welcome in general! Nevertheless please don't forget to add a description to your pull requests. This is very helpful to understand what kind of issue the PR is going to solve.
- Bugfixes: Please describe what kind of bug your fix solve and give us feedback how to reproduce the issue. We're going to accept only bugfixes if I can reproduce the issue.
- Features: Not every feature is relevant for the bulk of powermail users. In addition: We don't want to make powermail even more complicated in usability for an edge case feature. Please discuss a new feature before.
Compile and minify (uglify) JavaScript, compress CSS:
$ cd Resources/Private
$ npm install
$ ./node_modules/.bin/gulp