{"id":13518442,"url":"https://github.com/in2code-de/powermail","last_synced_at":"2025-05-14T16:02:56.241Z","repository":{"id":37405726,"uuid":"68707214","full_name":"in2code-de/powermail","owner":"in2code-de","description":"This is the official repository of the TYPO3 extension powermail! Powermail is a well-known, editor-friendly, powerful and easy mailform extension for TYPO3","archived":false,"fork":false,"pushed_at":"2025-03-21T12:11:11.000Z","size":33343,"stargazers_count":92,"open_issues_count":115,"forks_count":179,"subscribers_count":17,"default_branch":"typo3-v12","last_synced_at":"2025-04-03T02:08:49.885Z","etag":null,"topics":["form","mailform-extension","powermail","typo3","typo3-cms-extension"],"latest_commit_sha":null,"homepage":"https://in2code.de","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/in2code-de.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-20T11:56:04.000Z","updated_at":"2025-03-26T10:59:39.000Z","dependencies_parsed_at":"2024-02-08T17:28:08.382Z","dependency_job_id":"2524a85d-c7f4-4af7-be26-904de6205bbd","html_url":"https://github.com/in2code-de/powermail","commit_stats":{"total_commits":2869,"total_committers":116,"mean_commits":"24.732758620689655","dds":0.4747298710352039,"last_synced_commit":"434ab66c620f83c3cc6f0f96a1418a9fff9fa484"},"previous_names":["in2code-de/powermail","einpraegsam/powermail"],"tags_count":278,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in2code-de%2Fpowermail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in2code-de%2Fpowermail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in2code-de%2Fpowermail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in2code-de%2Fpowermail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/in2code-de","download_url":"https://codeload.github.com/in2code-de/powermail/tar.gz/refs/heads/typo3-v12","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154995,"owners_count":21056542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["form","mailform-extension","powermail","typo3","typo3-cms-extension"],"created_at":"2024-08-01T05:01:44.856Z","updated_at":"2025-04-10T03:49:02.122Z","avatar_url":"https://github.com/in2code-de.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# TYPO3 Extension powermail\n\nPowermail is a well-known, editor-friendly, powerful and easy to use mailform extension for TYPO3 with a lots of\nfeatures (spam prevention, marketing information, optin, ajax submit, diagram analysis, etc...)\n\n\u003e :warning: **TYPO3 13 compatibility**\\\n\u003e See [EAP page (DE)](https://www.in2code.de/agentur/typo3-extensions/early-access-programm/) or\n\u003e [EAP page (EN)](https://www.in2code.de/en/agency/typo3-extensions/early-access-program/) for more information how\n\u003e to get access to a TYPO3 13 version\n\n## :warning: Deprecations, planned breaking changes for V13 and features\n\n### Double OptIn and TypoScript setting \"Do not save to DB\"\n\nThis combination will not work anymore in V13. If the person responsible for data security decides not to save anything\ninto the database, no data may be saved to the database, even not in the double opt-in process.\n\nIf you need this earlier than the next major (public) release, please contact us for the extension\n`EXT:powermail_cleaner`. With this extension it is possible to set that for each plugin individually.\n\n### Plugins / content elements pi2 - pi4\n\nThe content elements for frontend editing will be moved to a separate paid extension.\n\n### Future: Powermail Powerpack\n\nNext to extensions `EXT:powermail_cleaner`, `EXT:powermail_ratelimiter` and the frontend editing stuff, there will be\nanother paid extension `EXT:powermail_powerpack`. This extension will contain additional features, we developed\nthroughout the last years and want to make available to the broader public, for example:\n\n* use an email address only once per plugins\n* maximum \"seats\" per plugin (like a very, very basic registration)\n* ...\n\n\n## 1. Documentation overview\n\n* [Introduction](/Documentation/Readme.md)\n* [Development Model](/Documentation/DevelopmentModel.md)\n* [Documentation for editors](/Documentation/ForEditors/Readme.md)\n* [Documentation for administrators](/Documentation/ForAdministrators/Readme.md)\n* [Documentation for developers](/Documentation/ForDevelopers/Readme.md)\n* [FAQ](/Documentation/FAQ/Readme.md) (with a lot of stuff and best practice)\n* [Changelog](/Documentation/Changelog/Readme.md)\n* [Support](/Documentation/Support/Readme.md)\n* [Additional links](/Documentation/Links/Readme.md)\n\n## 2. Installation\n\nQuick guide:\n- Just install this extension - e.g. `composer require in2code/powermail`\n- Add a static typoscript template to your root template\n- Add a new form (with one or more pages and with some fields to a page or a folder)\n- Add a new pagecontent (plugin) with type \"powermail\" and choose the former saved form\n- That's all, you can view the result in the frontend\n\n## 3. Administration corner\n\n### 3.1. Versions and Support\n\n| Powermail   | TYPO3     | PHP       | Support/Development                            |\n|-------------|-----------|-----------|------------------------------------------------|\n| 13.x        | 13.x      | 8.3 - 8.x | Features, Bugfixes, Security Updates           |\n| 12.x        | 12.x      | 8.1 - 8.2 | Features, Bugfixes, Security Updates           |\n| 11.x        | 12.x      | 8.1 - 8.2 | Support dropped                                |\n| 10.x        | 11.x      | 7.4 - 8.1 | Security Updates (paid backports are possible) |\n| 9.x         | 11.x      | 7.4       | Support dropped                                |\n| 8.x         | 10.x      | 7.2 - 7.4 | Security Updates (paid backports are possible) |\n| 7.x         | 8.7 - 9.x | 7.0 - 7.4 | Support dropped                                |\n| 6.x         | 8.7 - 9.x | 7.0 - 7.x | Support dropped                                |\n\nDo you need free support? There is a kind TYPO3 community that could help you.\nYou can ask questions at https://stackoverflow.com and tag your question with `TYPO3` and `Powermail`.\nIn addition there is a slack channel in the TYPO3 slack `ext-powermail`.\n\n### 3.2. Changelog\n\nPlease look into the [changelog of powermail](/Documentation/Changelog/Readme.md)\n\n### 3.3. Suggested Extensions for powermail\n\n- **email2powermail** Automatically convert emails to a link to a powermail form [Link](https://github.com/einpraegsam/email2powermail)\n- **powermailrecaptcha** Google recaptcha [Link](https://github.com/einpraegsam/powermailrecaptcha)\n- **invisiblerecaptcha** Google invisible recaptcha [Link](https://github.com/einpraegsam/invisiblerecaptcha)\n- **powermailextended** Is just an example extension how to extend powermail with new fields or use signals [Link](https://github.com/einpraegsam/powermailextended)\n- **powermail_cond** Add conditions (via AJAX) to powermail forms for fields and pages [Link](https://github.com/einpraegsam/powermail_cond)\n- **powermail_fastexport** Extend powermail for faster export to .xlsx / .csv files. This is useful if you have many records to be exported. [Link](https://github.com/bithost-gmbh/powermail_fastexport)\n\n### 3.4. Product Owner\n\nThe product owner and author of the extension is Alex Kellner from [in2code](https://www.in2code.de). Beside that every\nin2code colleague is allowed to support further development if she/he wants. In addition there are a lot of other\ncontributors that helped to improve the extension with their *Pull Requests* - thank you for that!\n\n### 3.5. Release Management\n\nPowermail uses **semantic versioning** which basically means for you, that\n- **bugfix updates** (e.g. 1.0.0 =\u003e 1.0.1) just includes small bugfixes or security relevant stuff without breaking changes.\n- **minor updates** (e.g. 1.0.0 =\u003e 1.1.0) includes new features and smaller tasks without breaking changes.\n- **major updates** (e.g. 1.0.0 =\u003e 2.0.0) normally includes basic refactoring, new features and also breaking changes.\n\nWe try to mark breaking changes in the [changelog](/Documentation/Changelog/Readme.md)\nwith 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).\n\nIn addition powermail is using [Git Flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) as Git workflow.\nThat means that there is one branch which contains new and untested code: **develop**.\nThe branch **master** only contains tested code which will also be tagged from time to time.\n\nBased on `release early, release often` we try to release new versions as often as possible into TER and to github/packagist.\n\n### 3.6. Automatic Testing\n\n#### Behaviour tests\n\nThere is a huge testparcours that have to be passed before every release. For example there is an\n[automatic test](/Tests/Behavior/Features/Pi1/Validation/Input/JsPhpValidation.feature)\nwhere the browser tries to submit 18 different strings and numbers to a field that accepts only phone numbers to test\nserverside validation. After that the same process is done for clientside valiation.\nThere are also some smaller tests like \"Is it possible to submit a form on a page where two different forms are stored?\".\n\nSee [readme.md](/Tests/Behavior/readme.md) for some more information about behat and selenium tests on powermail.\n\n#### Unit tests\n\nAt the moment powermail offers 543 (and growing) unit tests that have to be passed before every release. See more information\nabout unit tests or code coverage in powermail in the [readme.md](/Tests/Unit/readme.md)\n\n### 3.7. Code quality\n\nBeside respecting PSR-2 and TYPO3 coding guidelines, it's very important for the project to leave a file cleaner as before.\nEspecially because it's a really large extension with a lot of functionality and a history of 10 years (!) and of course some\ntechnical debts, that have to be fixed step by step (e.g. moving logic completely to Domain folder, ...).\nLook at [Sonarqube](https://ter-sonarqube.marketing-factory.de/dashboard?id=powermail) for some interesting details on that.\n\n### 3.8. Contribution\n\n**Pull requests** are welcome in general! Nevertheless please don't forget to add a description to your pull requests. This\nis very helpful to understand what kind of issue the **PR** is going to solve.\n\n- Bugfixes: Please describe what kind of bug your fix solve and give us feedback how to reproduce the issue. We're going\nto accept only bugfixes if I can reproduce the issue.\n- Features: Not every feature is relevant for the bulk of powermail users. In addition: We don't want to make powermail\neven more complicated in usability for an edge case feature. Please discuss a new feature before.\n\n\n### 3.9. Development\n\nCompile and minify (uglify) JavaScript, compress CSS:\n\n```\n$ cd Resources/Private\n$ npm install\n$ ./node_modules/.bin/gulp\n```\n\n\n## 4. Screenshots\n\n### 4.1. Example form with bootstrap classes:\n\n![Example form](Documentation/Images/frontend1.png \"Example Form\")\n\n\n### 4.2. Backend module mail list:\n\n![Backend Module](Documentation/Images/backend1.png \"Backend Module\")\n\n\n### 4.3. Backend module reporting:\n\n![Backend Module2](Documentation/Images/backend2.png \"Backend Module2\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fin2code-de%2Fpowermail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fin2code-de%2Fpowermail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fin2code-de%2Fpowermail/lists"}