Fetching contributors…
Cannot retrieve contributors at this time
85 lines (60 sloc) 3.13 KB


This is an extension to Kotti that allows to add a simple contact form to your site. build status

Find out more about Kotti

Development happens at


To enable the extension in your Kotti site, activate the configurator:

kotti.configurators =

Please note that kotti_contactform >= 0.4 depends on kotti_settings, so you have to list it in your kotti.configurators too.

kotti_contactform uses pyramid_mailer for sending mails and tries to use your mailserver at localhost:25. If these defaults don't fit your needs, you have to configure pyramid_mailer:

If you add kotti_contactform to an existing Kotti site (i.e. a Kotti installation with an already existing database), you have to initialize the database migration with Kotti's kotti-migrate console script: kotti-migrate stamp_head --scripts=kotti_contactform:alembic.

Database upgrade

If you upgrade to version 0.1.1 or 0.4 you have to migrate your database. The migration is performed with alembic and Kotti's console script kotti-migrate. To migrate, run kotti-migrate upgrade_all --scripts=kotti_contactform:alembic.

For integration of alembic in your environment please refer to the alembic documentation. If you have problems with the upgrade, please create a new issue in the tracker.


Point your browser to http://your.domain/@@settings to get to the settings page or use the submenupoint of 'Site Setup'.

You can specify a default sender address that will be used as the default for newly created contact forms.

You can also enable the use of a captcha in your contact forms. For the captcha the reCAPTCHA service is used. You have to sign up to get a key pair in order to use the service on your site. In the settings you have to save your public and your private key. Have a look at to sign up and get your keys.


Contributions to kotti_contactform are highly welcome. Just clone its Github repository and submit your contributions as pull requests.

When developing kotti_contactform it can be useful to have a dummy SMTP server that doesn't actually send emails but prints them to the console. Fortunately this is very easy with Python:

sudo python -m smtpd -n -c DebuggingServer localhost:1025