collective.contactformprotection
This package protects the default contact form of Plone which is generally accessible via /contact-info. If you have installed this product, you can go to the Contacformprotection Control Panel and adjust its settings.
Settings
Provide a checkbox in the controlpanel to disable the form globally
Add a H/Recaptcha/Norobots field depending on the installed 3rd party addon plone.formwidget.[h|re]captcha or collective.z3cform.norobots.
Captcha support
If you have installed plone.formwidget.recaptcha, plone.formwidget.hcaptcha or collective.z3cform.norobots it is automatically added to the form. In case both are installed, you can make a choice in the controlpanel.
You can install the packages by adding the extra_required to this package:
[buildout]
...
eggs =
collective.contactformprotection[hcaptcha,recaptcha,norobots]
The settings mentioned above are all set in the configuration registry. See plone.app.registry how to set these values TTW or in a package profile.
Installation
Install collective.contactformprotection by adding it to your buildout:
[buildout]
...
eggs =
collective.contactformprotection
and then running bin/buildout
Customizing Captcha vocabulary
The captcha settings is provided by a zope vocabulary with enhanced term objects:
class CaptchaVocabItem(object):
def __init__(self, token, value, widget=None, validator_view=""):
self.token = token
self.value = value
self.widget = widget
self.validator_view = validator_view
If you have additional captcha addons or want to override the provided widget and validator view, you can override the vocabulary utility contactformprotection.captchavocabulary with your terms.
Contribute
Issue Tracker: https://github.com/collective/collective.contactformprotection/issues
Source Code/Documentation: https://github.com/collective/collective.contactformprotection
License
The project is licensed under the GPLv3.
Contributors
Peter Mathis, peter.mathis@kombinat.at
2.0.0 (2026-05-19)
Breaking changes:
Replace pkg_resources namespace with PEP 420 native namespace. (#3928)
New features:
Add support for Plone 6.1, 6.2, and related Pythons. Drop support for Python 3.8 and 3.9. [maurits]
Changelog
1.1.0 (2025-05-26)
Implement collective.z3cform.norobots support. @petschki
1.0.0 (2024-04-29)
Initial release. [petschki]
Metadata
Release files for collective.contactformprotection 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| collective_contactformprotection-2.0.0.tar.gz | 30.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| collective_contactformprotection-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.1 kB
Release files / collective_contactformprotection-2.0.0.tar.gz
| Download URL | collective_contactformprotection-2.0.0.tar.gz |
|---|---|
| Size | 30.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
80e6ef748fc6643473db0edaa09c1355793c8ef9bd44eb9688016d3eaf23f68f
|
|
BLAKE2b-256 checksum How to use checksums |
3b561b2a528b449317050b881dcfbecea35dfe22863803b6c021962578eb885f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / collective_contactformprotection-2.0.0-py3-none-any.whl
| Download URL | collective_contactformprotection-2.0.0-py3-none-any.whl |
|---|---|
| Size | 37.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
74608707a1759d4423dd6ec7fa6c742fbbf30625a67cb395e7fe628f8e5596ff
|
|
BLAKE2b-256 checksum How to use checksums |
ed86e95a67f62fb65937e16613bdabb9bdb6f9d654717c8292c312cbea348fb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|