PHPackages                             traw/powermailcaptcha - 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. [Validation &amp; Sanitization](/categories/validation)
4. /
5. traw/powermailcaptcha

ActiveTypo3-cms-extension[Validation &amp; Sanitization](/categories/validation)

traw/powermailcaptcha
=====================

Captcha Extension for Powermail

3.1.1(6mo ago)548.5k↓23.8%6[4 issues](https://github.com/thomasrawiel/powermailcaptcha/issues)GPL-3.0-or-laterPHPPHP ^8.1

Since Oct 18Pushed 6mo ago3 watchersCompare

[ Source](https://github.com/thomasrawiel/powermailcaptcha)[ Packagist](https://packagist.org/packages/traw/powermailcaptcha)[ RSS](/packages/traw-powermailcaptcha/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (44)Used By (0)

powermailcaptcha
================

[](#powermailcaptcha)

Captcha Extension for TYPO3 powermail to prevent spam

Dependencies
------------

[](#dependencies)

- powermail &gt;= 8.0
- TYPO3 11 or 12

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

[](#installation)

Just install this extension via composer `composer require traw/powermailcaptcha`

### Google Recaptcha

[](#google-recaptcha)

- Register your domain to [www.google.com/recaptcha/](https://www.google.com/recaptcha/about/)
- Works with reCAPTCHA, Version 2
- Add sitekey and secretkey to TypoScript Constants (see example below)
- In TypoScript Constants, set the captcha method to `recaptcha` (This is the default)

### Friendly Captcha

[](#friendly-captcha)

- Register your domain to [friendlycaptcha.com](https://docs.friendlycaptcha.com/#/installation)
- Add sitekey and secretkey to TypoScript Constants (see example below)
- In TypoScript Constants, set the captcha method to `friendlycaptcha`

### hCaptcha

[](#hcaptcha)

- Register your domain to [hcaptcha.com](https://docs.hcaptcha.com/)
- Add sitekey and secretkey to TypoScript Constants (see example below)
- In TypoScript Constants, set the captcha method to `hcaptcha`

### Cloudflare

[](#cloudflare)

- Register your domain to [cloudflare.com](https://www.cloudflare.com/products/turnstile/)
- Add sitekey and secretkey to TypoScript Constants (see example below)
- In TypoScript Constants, set the captcha method to `cloudflare`

### Prosopo Procaptcha

[](#prosopo-procaptcha)

- Register your domain to [prosopo.io](https://www.prosopo.io/)
- Add sitekey and secretkey to TypoScript Constants (see example below)
- In TypoScript Constants, set the captcha method to `procaptcha`

### General

[](#general)

- Ensure that spamshield is enabled (see below)
- Add a field of Type Powermailcaptcha to your powermail form
- Have fun

Example for TypoScript Constants:

```
plugin.tx_powermailcaptcha.captchaMethod = recaptcha
plugin.tx_powermailcaptcha.captchaMethod = friendlycaptcha
plugin.tx_powermailcaptcha.captchaMethod = hcaptcha
plugin.tx_powermailcaptcha.captchaMethod = cloudflare
plugin.tx_powermailcaptcha.captchaMethod = procaptcha
plugin.tx_powermailcaptcha.sitekey = 6LdsBBUTAAAAAKMhI67inzeAvzBh5JdRRxlCwbTz
plugin.tx_powermailcaptcha.secretkey = 6LdsBBUTAAAAAKMhaaaainzeAvzBh5JdRRxlCwbyy

```

### Disable captcha

[](#disable-captcha)

From versions &gt;= 1.3.0

In case you wish to disable the captcha temporarily, just add the following line to your typoscript constants: `plugin.tx_powermailcaptcha.enable = 0`

You can also find this option in the Constant Editor.

### Captcha Language

[](#captcha-language)

From Versions &gt;=1.1.0

The current language is added to the captcha via language parameter which is taken from your Site Configuration.

To disable this behavior, add the following to your Typoscript Constants:

```
plugin.tx_powermailcaptcha.useSiteLanguage = 0

```

Depending on your website language, not all languages are supported for every Captcha-Method. Read

- [Friendly Captcha](http://docs.friendlycaptcha.com/#/widget_api?id=data-lang-attribute)
- [HCaptcha](https://docs.hcaptcha.com/languages/)
- [Google Recaptcha](https://developers.google.com/recaptcha/docs/language)
- [Cloudflare](https://developers.cloudflare.com/turnstile/reference/supported-languages/)
- [Prosopo Procaptcha](https://github.com/prosopo/captcha/tree/main/packages/common/src/locales)

for further information on supported language codes.

Common pitfalls and best practice
---------------------------------

[](#common-pitfalls-and-best-practice)

spamshield must be enabled in powermail (TypoScript setup):

```
plugin.tx_powermail.settings.setup.spamshield._enable = 1

```

Keep up to date if powermail recognize spam (TypoScript setup):

```
# Get an email if spam was recognized
plugin.tx_powermail.settings.setup.spamshield.email = spamreceiver@yourdomain.de

# Write to a logfile when spam was recognized
plugin.tx_powermail.settings.setup.spamshield.logfileLocation = typo3temp/logs/powermailSpam.log

```

Remove the default captcha field by adding the following to your Page TSConfig: `TCEFORM.tx_powermail_domain_model_field.type.removeItems = captcha`

Breaking change - Upgrade from &lt;1.5.0 to &gt;=1.5.0
------------------------------------------------------

[](#breaking-change---upgrade-from-150-to-150)

The typoscript has previously been automatically loaded in a Preset TypoScript setup file. However, this is no longer the case. In multisite environments where some websites dont use powermail the typoscript is not needed.
Also in some case it's hard to override settings which are made in a Preset TypoScript (for example: ext\_typoscript\_setup.typoscript).

Therefore, from version 1.5.0 and up the typoscript has to be manually added in your website's static template.

Upgrade from 1.0.x to &gt;=1.1.x
--------------------------------

[](#upgrade-from-10x-to-11x)

If you override powermail's partial `Partial/Form/Page.html` in your own extension, make sure to add the variable `languageIso` to the f:render of the Fields.

e.g.

```

```

If you override powermail's FormController in your own extension, please see `EXT:powermailcaptcha/Classes/Controller/FormController.php` on how this extension adds the language variable.

Credits
-------

[](#credits)

This extension is based on [EXT:powermailrecaptcha](https://github.com/einpraegsam/powermailrecaptcha) by einpraegsam.

Changelog
---------

[](#changelog)

VersionDateDescription2.2.02025-03-21Feature: add PSR-14 event before the actual verify request2.1.02024-09-25Feature: add Prosopo Procaptcha captcha method2.0.02024-07-31Dropped support for TYPO3 11 and older powermail versionVersionDateDescription1.8.02025-03-21Feature: add PSR-14 event before the actual verify request1.7.02024-09-25Feature: add Prosopo Procaptcha captcha method1.6.02024-04-24Feature: add Cloudflare Turnstile captcha method1.5.02024-04-24Feature: add typoscript as a static template1.3.02023-06-05Feature: add option to disable frontend output1.2.02023-06-02Code Maintenance: simplifiy controller code1.1.02023-05-11Add option to force website language onto the Captcha1.0.02022-10-18Initial release

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance51

Moderate activity, may be stable

Popularity37

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 91.3% 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 ~29 days

Recently: every ~8 days

Total

39

Last Release

192d ago

Major Versions

1.7.2 → 2.2.02025-03-21

1.8.0 → 2.2.12025-03-24

1.8.1 → 2.2.32025-05-08

2.2.3 → 3.0.02025-07-11

1.8.2 → 3.0.22025-10-05

PHP version history (2 changes)1.0.2PHP ^7.4 || ^8.0

2.0.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/e5b5f37bac2846cb2e47cf2a0dc737726e94e63a241c256c14b17333b00475f1?d=identicon)[thomas.rawiel](/maintainers/thomas.rawiel)

---

Top Contributors

[![thomasrawiel](https://avatars.githubusercontent.com/u/5371428?v=4)](https://github.com/thomasrawiel "thomasrawiel (95 commits)")[![sypets](https://avatars.githubusercontent.com/u/13206455?v=4)](https://github.com/sypets "sypets (6 commits)")[![alappe](https://avatars.githubusercontent.com/u/1357848?v=4)](https://github.com/alappe "alappe (1 commits)")[![forgetso](https://avatars.githubusercontent.com/u/7630866?v=4)](https://github.com/forgetso "forgetso (1 commits)")[![stephan-brun](https://avatars.githubusercontent.com/u/171556668?v=4)](https://github.com/stephan-brun "stephan-brun (1 commits)")

---

Tags

captchaTYPO3 CMSpowermail

### Embed Badge

![Health badge](/badges/traw-powermailcaptcha/health.svg)

```
[![Health](https://phpackages.com/badges/traw-powermailcaptcha/health.svg)](https://phpackages.com/packages/traw-powermailcaptcha)
```

###  Alternatives

[karser/karser-recaptcha3-bundle

Google ReCAPTCHA v3 for Symfony

1862.4M7](/packages/karser-karser-recaptcha3-bundle)[laminas/laminas-captcha

Generate and validate CAPTCHAs using Figlets, images, ReCaptcha, and more

2318.5M43](/packages/laminas-laminas-captcha)[abanoubnassem/filament-grecaptcha-field

Provides a Google reCaptcha V2 field for the Filament Forms

27116.1k2](/packages/abanoubnassem-filament-grecaptcha-field)[aryehraber/statamic-captcha

Protect your Statamic forms using a Captcha service

16194.4k](/packages/aryehraber-statamic-captcha)[elic-dev/laravel-math-captcha

A simple math captcha for Laravel form validation.

1156.7k](/packages/elic-dev-laravel-math-captcha)

PHPackages © 2026

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