PHPackages                             rias/craft-contact-form-extensions - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. rias/craft-contact-form-extensions

AbandonedCraft-plugin[Utility &amp; Helpers](/categories/utility)

rias/craft-contact-form-extensions
==================================

Adds extensions to the Craft CMS contact form plugin.

1.2.0(6y ago)3649.0k37[12 issues](https://github.com/riasvdv/craft-contact-form-extensions/issues)[9 PRs](https://github.com/riasvdv/craft-contact-form-extensions/pulls)1MITPHP

Since May 6Pushed 12mo ago7 watchersCompare

[ Source](https://github.com/riasvdv/craft-contact-form-extensions)[ Packagist](https://packagist.org/packages/rias/craft-contact-form-extensions)[ RSS](/packages/rias-craft-contact-form-extensions/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (3)Versions (24)Used By (1)

Craft Contact Form Extensions
=============================

[](#craft-contact-form-extensions)

Back in Action
--------------

[](#back-in-action)

Fellow Crafters,

We are currently working on a new version of Contact Form Extensions. Our goal with this upgrade is to be a standalone plugin that's not dependent on Craft's Contact Form. We have long supported several free plugins and love supporting Open Source. Sometimes it makes more fiscal sense to charge a nominal fee in order to warrant spending the type of time maintaining such a popular plugin can command at times.

Thank you for your patience and understanding.

Stay tuned for more details...

[![Icon](./src/icon.svg)](./src/icon.svg)

[![Latest Version](https://camo.githubusercontent.com/f57e2ba5b62b952c4c5ef904c662ee87ea847f24b98da52a8d22a589338fedcf/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f687962726964696e7465726163746976652f63726166742d636f6e746163742d666f726d2d657874656e73696f6e732e7376673f7374796c653d666c61742d737175617265)](https://github.com/hybridinteractive/craft-contact-form-extensions/releases)[![Total Downloads](https://camo.githubusercontent.com/b2297c032216c4e8657e07eb351b3be482733cb17a30993e5a717b2c46cab296/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f687962726964696e7465726163746976652f63726166742d636f6e746163742d666f726d2d657874656e73696f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/hybridinteractive/craft-contact-form-extensions)

Adds extensions to the Craft CMS contact form plugin.

- Save submissions to the database and view them in the Control Panel
- Add a confirmation email that is sent to the submitting email
- Overwrite the default e-mail template
- Add an invisible reCAPTCHA

[![Screenshot](resources/screenshot.png)](resources/screenshot.png)

Support Open Source
-------------------

[](#support-open-source)

This plugin is licensed under a MIT license, which means that it's completely free open source software, and you can use it for whatever and however you wish.

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 4 and the [Contact Form](https://github.com/craftcms/contact-form) plugin.

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

[](#installation)

Install this plugin through the Plugin Store or follow these instructions.

1. Open your terminal and go to your Craft project:

    ```
     cd /path/to/project

    ```
2. Then tell Composer to load the plugin:

    ```
     composer require hybridinteractive/craft-contact-form-extensions

    ```
3. In the Control Panel, go to Settings → Plugins and click the “Install” button for Craft Contact Form Extensions.

Overwriting the email templates
-------------------------------

[](#overwriting-the-email-templates)

When you overwrite the email templates, your twig view will receive a `submission` variable which contains all the information that a default Contact Form submission contains:

- fromName
- fromEmail
- subject
- message
- attachment

Overriding the form name
------------------------

[](#overriding-the-form-name)

When saving submissions to the database the default form name will be "Contact". If you add a `message[formName]` hidden field you can override the form name. This can also used to create multiple form indexes in the Control Panel.

```

```

Overriding the confirmation template
------------------------------------

[](#overriding-the-confirmation-template)

When sending confirmation option is enabled and custom templates per form are needed, override the template with a hidden field. The template needs to be placed under templates\\\_emails folder. Add a hash for safety. The same data is passed as in the default overridden template.

```

```

Overriding the confirmation subject
-----------------------------------

[](#overriding-the-confirmation-subject)

When sending confirmation option is enabled and custom subjects per form are needed, override the subject with a hidden field. Add a hash for safety.

```

```

Overriding the notification template
------------------------------------

[](#overriding-the-notification-template)

When sending notification option is enabled and custom templates per form are needed, override the template with a hidden field. The template needs to be placed under templates\\\_emails folder. Add a hash for safety. The same data is passed as in the default overridden template.

```

```

Overriding where the message is sent
------------------------------------

[](#overriding-where-the-message-is-sent)

```

```

### Please note: Craft 5's version of this plugin does not support Recaptcha, we apologize for any inconvenience.

[](#please-note-craft-5s-version-of-this-plugin-does-not-support-recaptcha-we-apologize-for-any-inconvenience)

Disable recaptcha on a per form basis
-------------------------------------

[](#disable-recaptcha-on-a-per-form-basis)

```

```

Disable saving to database on a per form basis
----------------------------------------------

[](#disable-saving-to-database-on-a-per-form-basis)

```

```

Disable confirmation email on a per form basis
----------------------------------------------

[](#disable-confirmation-email-on-a-per-form-basis)

```

```

Adding invisible reCAPTCHA
--------------------------

[](#adding-invisible-recaptcha)

Before you set your config, remember to choose `invisible reCAPTCHA` while applying for keys.

[![Screenshot](resources/recaptcha.jpg)](resources/recaptcha.jpg)

Enable reCAPTCHA in the Contact Form Extensions settings and fill in your `siteKey` and `secretKey`.

Then use the following code in your forms inside of the `` element:

```
{{ craft.contactFormExtensions.recaptcha | raw }}
```

### ReCaptcha V3

[](#recaptcha-v3)

To use ReCaptcha V3, choose the V3 option in the settings, make sure to enter a correct `siteKey` and `secretKey` and enter a `threshold`. [Learn more about ReCaptcha V3](https://developers.google.com/recaptcha/docs/v3)

Then include the following code in your forms inside of the `` element, for example for the `homepage` action (actions help separate out reCaptcha submissions within the reCaptcha console):

```
{{ craft.contactFormExtensions.recaptcha('homepage') | raw }}
```

Display form submissions in your template files
-----------------------------------------------

[](#display-form-submissions-in-your-template-files)

```
{% for submission in craft.contactFormExtensions.submissions %}
   {{ submission.dateCreated|date('d-m-Y H:i') }} - {{ submission.fromEmail }} - {{ submission.fromName }}
{% endfor %}
```

Brought to you by [Hybrid Interactive](https://hybridinteractive.io/)

###  Health Score

45

—

FairBetter than 92% of packages

Maintenance30

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community29

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~22 days

Recently: every ~39 days

Total

23

Last Release

2440d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/dbd355ba9a931da845b0c4ff59a974dab98f829d567bb8c5ff435c823dfa255e?d=identicon)[riasvdv](/maintainers/riasvdv)

---

Top Contributors

[![DynamiteGoesBoom](https://avatars.githubusercontent.com/u/39201467?v=4)](https://github.com/DynamiteGoesBoom "DynamiteGoesBoom (55 commits)")[![rosskenney](https://avatars.githubusercontent.com/u/6130752?v=4)](https://github.com/rosskenney "rosskenney (44 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (6 commits)")[![curtishenson](https://avatars.githubusercontent.com/u/15751?v=4)](https://github.com/curtishenson "curtishenson (5 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (5 commits)")[![Floriswijgergangs](https://avatars.githubusercontent.com/u/8255580?v=4)](https://github.com/Floriswijgergangs "Floriswijgergangs (4 commits)")[![pascalminator](https://avatars.githubusercontent.com/u/13754636?v=4)](https://github.com/pascalminator "pascalminator (2 commits)")[![jamiematrix](https://avatars.githubusercontent.com/u/58532601?v=4)](https://github.com/jamiematrix "jamiematrix (1 commits)")[![janklan](https://avatars.githubusercontent.com/u/5463371?v=4)](https://github.com/janklan "janklan (1 commits)")[![KevinBeckers](https://avatars.githubusercontent.com/u/4037137?v=4)](https://github.com/KevinBeckers "KevinBeckers (1 commits)")[![mathiashelin](https://avatars.githubusercontent.com/u/2232751?v=4)](https://github.com/mathiashelin "mathiashelin (1 commits)")[![nicolaskuster](https://avatars.githubusercontent.com/u/16119608?v=4)](https://github.com/nicolaskuster "nicolaskuster (1 commits)")[![Pinchcliffe](https://avatars.githubusercontent.com/u/15997764?v=4)](https://github.com/Pinchcliffe "Pinchcliffe (1 commits)")[![tomdeleu](https://avatars.githubusercontent.com/u/632097?v=4)](https://github.com/tomdeleu "tomdeleu (1 commits)")[![arifje](https://avatars.githubusercontent.com/u/1286410?v=4)](https://github.com/arifje "arifje (1 commits)")[![watarutmnh](https://avatars.githubusercontent.com/u/6081378?v=4)](https://github.com/watarutmnh "watarutmnh (1 commits)")[![bencroker](https://avatars.githubusercontent.com/u/57572400?v=4)](https://github.com/bencroker "bencroker (1 commits)")[![benface](https://avatars.githubusercontent.com/u/1059139?v=4)](https://github.com/benface "benface (1 commits)")[![boboldehampsink](https://avatars.githubusercontent.com/u/378974?v=4)](https://github.com/boboldehampsink "boboldehampsink (1 commits)")[![carlcs](https://avatars.githubusercontent.com/u/7516543?v=4)](https://github.com/carlcs "carlcs (1 commits)")

---

Tags

cmsCraftcraftcmscraft-plugincraft contact form extensions

### Embed Badge

![Health badge](/badges/rias-craft-contact-form-extensions/health.svg)

```
[![Health](https://phpackages.com/badges/rias-craft-contact-form-extensions/health.svg)](https://phpackages.com/packages/rias-craft-contact-form-extensions)
```

###  Alternatives

[verbb/navigation

Create navigation menus for your site.

90683.7k17](/packages/verbb-navigation)[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)[verbb/comments

Add comments to your site.

13753.1k](/packages/verbb-comments)[verbb/tablemaker

Create customizable and user-defined table fields.

40168.8k1](/packages/verbb-tablemaker)[supercool/tablemaker

Create customizable and user-defined table fields.

40141.7k](/packages/supercool-tablemaker)[pennebaker/craft-architect

CraftCMS plugin to generate content models from JSON/YAML data.

72148.5k5](/packages/pennebaker-craft-architect)

PHPackages © 2026

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