Title: Re:Maily – Contact Form Builder with Conditional Fields &amp; Entries
Author: vlthemes
Published: <strong>November 10, 2026</strong>
Last modified: November 10, 2026

---

Search plugins

![](https://ps.w.org/remaily/assets/banner-772x250.png?rev=3794130)

![](https://ps.w.org/remaily/assets/icon-256x256.gif?rev=3794130)

# Re:Maily – Contact Form Builder with Conditional Fields & Entries

 By [vlthemes](https://profiles.wordpress.org/vlthemes/)

[Download](https://downloads.wordpress.org/plugin/remaily.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/remaily/#description)
 * [Reviews](https://wordpress.org/plugins/remaily/#reviews)
 *  [Installation](https://wordpress.org/plugins/remaily/#installation)
 * [Development](https://wordpress.org/plugins/remaily/#developers)

 [Support](https://wordpress.org/support/plugin/remaily/)

## Description

🧪 [Try it in WordPress Playground](https://playground.wordpress.net/?blueprint-url=https%3A%2F%2Fraw.githubusercontent.com%2Fvlthemes%2Fremaily-playground%2Fmain%2Fblueprint.json)·
📖 [Documentation](https://vlthemes.me/docs/remaily/) · 💬 [Ideas or bugs? Tell us](https://wordpress.org/support/plugin/remaily/)

Your form is ready before your coffee gets cold. Drag fields into it, click one 
to set it up, and see the form with your own theme’s look before you save. Every
message is mailed to you and kept in Entries too, so a mail that goes astray doesn’t
cost you a customer.

Make the form your site actually needs:

 * A contact form with a department picker that sends each message to the right 
   person.
 * A booking request where guests add themselves row by row.
 * A quote form that asks the extra questions only when they apply.
 * An order form that takes the payment with Stripe or PayPal before the message
   goes.

Spam stays out on its own, with checks your visitors never see; a captcha is there
when you want one. The form looks right in any theme, and a theme can restyle every
part of it.

Moving from Contact Form 7? Re:Maily imports your forms and keeps their shortcodes
working, so your pages don’t change.

Everything here is free, with no Pro version and nothing locked. Add-ons bring extras
for jobs only some sites have, such as bookings into Google Calendar, a price calculator
or Telegram alerts.

#### ✍️ An editor that stays out of the way

 * Plain HTML with a chip for each field. Drag fields in, drag chips around, double-
   click one to remove it.
 * Click a chip to set the field up in the sidebar: its type, options, limits, style,
   classes and attributes.
 * Preview: the unsaved form with your theme’s styles, updated as you type. Try 
   the fields there, and use a field’s gear to edit it.
 * A tip with an example for the field you picked, at the bottom of the editor.
 * Describe your form (WordPress 7.0+ with an AI service connected): say what you
   need and the site’s AI writes the form. One click undoes it.
 * Save as draft, duplicate, and a Beautify button for the markup. Right-click a
   chip to duplicate the field or remove it.
 * CSS and JavaScript tabs for each form: `selector` stands for the form, so its
   styles reach no other form.

#### 🧩 19 field types

 * Text, email, URL, phone, number, date and textarea.
 * Phone masks: one country’s format, your own, or a list of countries visitors 
   pick from. The number formats itself as they type.
 * Select, checkboxes and radio buttons. Checkboxes can allow one at a time.
 * Country, a list of countries, all or the ones you choose.
 * Acceptance, a quiz against bots, file upload and hidden values.
 * Submit, as a button or a link.
 * Output, a live mirror of what someone types in another field (“Thanks, Olga!”).
 * Count, the characters typed in another field (“120 characters left”).
 * Show a field’s settings in your text, so it never goes out of date: “up to 10
   MB”, “JPG, PNG, PDF”, or a live “120 characters left” as visitors type. Click
   or drag it in from the field’s settings.
 * Stripe and PayPal payments: visitors pay in the form before their message goes.
   A set amount, or one taken from a field such as a select of plans.
 * Every field can be required and get its own classes, ID, attributes and style,
   and a browser autofill hint picked from a list (first name, city…).
 * A field can start with a value from the link (?product=pro), a shortcode attribute,
   a custom field of the page or the logged-in user.

#### 🔀 Conditions

Select some code, right-click and make it a group. Show or hide the group depending
on what visitors pick or type: is, is not, contains, is empty, greater than and 
more, with all or any of the rules. Groups can be nested. Fields in a hidden group
aren’t checked or sent, and the server checks the same rules again. Turn on repeating
for a group and visitors add as many rows of it as they need, such as guests or 
products; the mail gets them as a table.

#### ✉️ Mail

 * Two mails per form: one to you, one optional copy for the sender.
 * Mail tags such as [your_name], option labels or raw values, and blocks that show
   only when their group does.
 * Let visitors pick who gets the mail: give a select’s options addresses (“sales@
   example.com : Sales”) and put its tag in To. The addresses never show in the 
   page’s code.
 * Special tags for the site, the page, the visitor and the date, and the visit’s
   campaign: [_utm_source], [_gclid] and the like.
 * HTML or plain text, and uploaded files as attachments.
 * The Mail tab points out unknown tags and addresses that won’t work.

#### 🗄️ Entries

 * Every message is saved in Contact Form  Entries, even when the mail fails.
 * Unread ones stand out. Filter by form and export a CSV.
 * Each message keeps the campaign that brought the visitor (utm_source, utm_campaign,
   gclid, fbclid, yclid…), for webhooks too.
 * WordPress’s personal data export and erase tools find them, and a suggested text
   for your privacy policy is ready in Settings  Privacy.
 * The visitor’s IP is saved shortened by default; save it whole, or not at all,
   in Settings  Entries.
 * Delete them after a number of days, or turn saving off for a form.

#### 💳 Payments

 * A Payment field: visitors pick Stripe or PayPal and pay inside the form before
   their message goes.
 * A set amount, or one taken from a field: a select of plans, a number, checkboxes
   that add up.
 * The amount is worked out again on your server, and each payment is checked with
   Stripe or PayPal before the mail goes. One payment sends one message.
 * The payment shows in the mail and in Entries. Test keys and PayPal’s sandbox 
   work for trying it out.
 * No fees from Re:Maily: you paste your own keys in Settings  Payments.

#### 🛡️ Spam

 * On every form, without bothering anyone: a hidden trap for bots (honeypot), a
   minimum time to fill the form, a limit per visitor and your Disallowed Comment
   Keys (Settings  Discussion).
 * [Cloudflare Turnstile](https://dash.cloudflare.com/?to=/:account/turnstile), 
   [hCaptcha](https://dashboard.hcaptcha.com/sites), [Google reCAPTCHA v3](https://www.google.com/recaptcha/admin/create)
   and [Yandex SmartCaptcha](https://yandex.cloud/en/services/smartcaptcha): save
   their keys once and they run on every form, alone or together. A form can skip
   them. They go before the send button, or wherever you drop the Captcha chip. 
   reCAPTCHA’s badge can be hidden.
 * Check messages with [Akismet](https://akismet.com/).

#### 🎨 Made for themes

 * Each field and the response box are templates your theme can override, or add
   styles to, from its own remaily/ folder.
 * The default look uses CSS variables, and one setting or filter turns it off.
 * Hooks for every step, and an API to add field types and chips of your own to 
   the editor.
 * Right-to-left languages: forms, the editor and the settings read the right way
   round in Arabic, Hebrew or Persian.

#### ⚡ Lightweight

 * One script of 15 KB (5 KB gzipped) and about 15 KB of styles, only on pages that
   show a form. No jQuery.
 * Payment and captcha scripts load only when a form needs them; Stripe’s or PayPal’s
   only once a visitor pays.
 * Forms still work with JavaScript turned off.
 * The whole plugin is a download of about 620 KB, most of it the form editor, which
   loads only in the admin.

#### 🔒 Private and safe

 * GDPR in mind: the visitor’s IP is saved shortened by default, or whole, or not
   at all.
 * Messages work with WordPress’s privacy tools: a visitor can get a copy or have
   them erased.
 * Delete entries after a number of days, or don’t save them for a form.
 * A suggested text for your privacy policy, in Settings  Privacy.
 * Uploads are images, audio, video, PDF or plain text only, their real type checked,
   kept in a folder the web can’t open and deleted once mailed.
 * Email addresses and phone numbers in a form’s options stay off the page, so bots
   can’t collect them.
 * Webhooks are set by administrators only and never reach your own network.
 * Outside services (captchas, Akismet, webhooks, Stripe, PayPal) stay off until
   you turn them on.

#### 📍 Place it anywhere

The Re:Maily Contact Form block, Elementor widget, WPBakery element or classic widget,
or the [remaily id=”…”] shortcode.

#### 🚚 Move in and out

 * Import your Contact Form 7 forms with their fields, mails and messages. Mail 
   tags stay the same, and old [contact-form-7] shortcodes keep working once CF7
   is off.
 * Export every form to one file and import it on another site (Settings  Export&
   import).
 * Copy a single form’s code to another site from its Advanced tab.

#### 🧪 Safe to test

Test mode checks the fields and sends nothing; “Don’t send mail” still saves entries.
Turn them on per form, or for the whole site with REMAILY_TEST_MODE and REMAILY_DISABLE_MAIL
in wp-config.php.

#### 🧰 Add-ons, for when your site needs more

Re:Maily does all of the above on its own. Add-ons are separate plugins for jobs
only some sites have; Contact Form  Add-ons lists them. A few of the ways people
use them:

 * **A salon, barber or consultant taking bookings.** Bookings & Time Slots shows
   only the free times, and each booking lands in your Google Calendar. Nobody gets
   the same hour twice.
 * **A renovation quote or a price list.** Calculator works out the total as visitors
   pick the options, shows or hides parts of the form on it, and the Payment field
   charges that total.
 * **A sale or a newsletter promo.** Coupons adds a promo code field: SALE10 takes
   10% off the payment or the calculated total, with an end date and a limit of 
   uses. The codes never show in the page.
 * **A team that answers from the phone.** Telegram puts each request in your chat
   or your team’s group the moment it’s sent. WhatsApp answers the customer on WhatsApp
   right away and sends you the request too.
 * **Requests the whole team works through.** Google Sheets adds each message as
   a row of your spreadsheet, a column per field.
 * **Knowing which ads bring requests.** Analytics counts each message and payment
   in Google Analytics, Yandex Metrica or the Meta Pixel, with its value, and shows
   the field where visitors give up on a form.
 * **Growing a mailing list.** Mailchimp, MailerLite, Kit (ConvertKit) or Brevo 
   adds the people who write to you to your list, with double opt-in, their details
   and your tags.
 * **Taking payments where Stripe and PayPal don’t fit.** Square and Authorize.Net
   take cards in the US, UK and Europe, Mercado Pago cards, Pix and boleto in Latin
   America, YooKassa and Robokassa cards and SBP in Russia, and Razorpay cards, 
   UPI and wallets in India.
 * **Support for themes, plugins or courses you sell.** ThemeForest, Gumroad, Lemon
   Squeezy, Easy Digital Downloads, Paddle and Freemius check the buyer’s purchase
   code in the form, so only buyers reach your support. Suggested answers shows 
   the articles from your docs that may answer a question while it’s typed, and 
   Help Scout turns each message into a conversation in your help desk.
 * **Reviews and feedback.** The free Star rating add-on adds stars visitors click,
   with your own icon if you like.

#### 🔌 Also

 * Webhooks: each message posted as JSON to Zapier, Make, n8n or your own code.
 * “Logged-in users only” per form.
 * Abilities for AI assistants (WordPress 6.9+): list, read, create and update forms,
   and read entries.

### External services

Re:Maily connects to these services only when you turn them on:

 * Cloudflare Turnstile, when a form uses it: the widget loads from challenges.cloudflare.
   com and each answer is checked there. [Terms](https://www.cloudflare.com/website-terms/),
   [privacy policy](https://www.cloudflare.com/privacypolicy/).
 * hCaptcha, when a form uses it: the widget loads from js.hcaptcha.com and each
   answer is checked at api.hcaptcha.com. [Terms](https://www.hcaptcha.com/terms),
   [privacy policy](https://www.hcaptcha.com/privacy).
 * Google reCAPTCHA v3, when a form uses it: the script loads from google.com and
   each token is checked there. [Terms](https://policies.google.com/terms), [privacy policy](https://policies.google.com/privacy).
 * Yandex SmartCaptcha, when a form uses it: the widget loads from smartcaptcha.
   yandexcloud.net and each answer is checked there, with the visitor’s IP address.
   [Terms](https://yandex.ru/legal/cloud_termsofuse/), [privacy policy](https://yandex.ru/legal/confidential/).
 * Akismet, when you turn it on in Settings  Spam: the sender’s name, email, message,
   IP address and browser are sent to Akismet to be checked. [Privacy policy](https://automattic.com/privacy/).
 * Webhooks, when you add addresses to a form: each message is sent to the addresses
   you entered.
 * Stripe, when a form’s Payment field offers Stripe and the visitor picks it: once
   the visitor sends the form, the payment’s amount, currency, description and the
   visitor’s email are sent to api.stripe.com, the card fields load from js.stripe.
   com, and the payment is checked there before the message goes. [Terms](https://stripe.com/legal/ssa),
   [privacy policy](https://stripe.com/privacy).
 * PayPal, when a form’s Payment field offers PayPal and the visitor picks it: once
   the visitor sends the form, the payment’s amount, currency and description are
   sent to api-m.paypal.com, the buttons load from paypal.com, and the payment is
   checked and taken there before the message goes. [Terms](https://www.paypal.com/legalhub/useragreement-full),
   [privacy policy](https://www.paypal.com/myaccount/privacy/privacyPrevious).

### Credits

 * Icons: [Lucide](https://lucide.dev/), ISC license (assets/icons/lucide/LICENSE).

## Screenshots

[⌊The form editor: plain HTML with a chip for each field, the field buttons above
and the form's fields beside it.⌉⌊The form editor: plain HTML with a chip for each
field, the field buttons above and the form's fields beside it.⌉[

The form editor: plain HTML with a chip for each field, the field buttons above 
and the form’s fields beside it.

[⌊More fields (Output, Count, Payment, Response) and a field's settings in the sidebar.⌉⌊
More fields (Output, Count, Payment, Response) and a field's settings in the sidebar
.⌉[

More fields (Output, Count, Payment, Response) and a field’s settings in the sidebar.

[⌊Preview: the unsaved form in your theme's style. Click a field to edit it.⌉⌊Preview:
the unsaved form in your theme's style. Click a field to edit it.⌉[

Preview: the unsaved form in your theme’s style. Click a field to edit it.

[⌊The Mail tab: To, From, subject and message, with every tag a click away.⌉⌊The
Mail tab: To, From, subject and message, with every tag a click away.⌉[

The Mail tab: To, From, subject and message, with every tag a click away.

[⌊The Messages tab: what visitors read after sending or when a field needs fixing.⌉⌊
The Messages tab: what visitors read after sending or when a field needs fixing.⌉[

The Messages tab: what visitors read after sending or when a field needs fixing.

[⌊The Advanced tab: the form's look, a page to open after sending, entries and who
may send it.⌉⌊The Advanced tab: the form's look, a page to open after sending, entries
and who may send it.⌉[

The Advanced tab: the form’s look, a page to open after sending, entries and who
may send it.

[⌊Entries: every message kept, filtered by form and date, exported as CSV.⌉⌊Entries:
every message kept, filtered by form and date, exported as CSV.⌉[

Entries: every message kept, filtered by form and date, exported as CSV.

[⌊Settings → Spam: the hidden checks, Akismet and the captchas.⌉⌊Settings → Spam:
the hidden checks, Akismet and the captchas.⌉[

Settings  Spam: the hidden checks, Akismet and the captchas.

[⌊Settings → Payments: Stripe and PayPal keys.⌉⌊Settings → Payments: Stripe and 
PayPal keys.⌉[

Settings  Payments: Stripe and PayPal keys.

[⌊Settings → Export & import: every form in one file, to move to another site.⌉⌊
Settings → Export & import: every form in one file, to move to another site.⌉[

Settings  Export & import: every form in one file, to move to another site.

[⌊Add-ons: what you can add, such as a calculator, bookings into Google Calendar
or Google Sheets.⌉⌊Add-ons: what you can add, such as a calculator, bookings into
Google Calendar or Google Sheets.⌉[

Add-ons: what you can add, such as a calculator, bookings into Google Calendar or
Google Sheets.

## Installation

 1. Install and activate the plugin.
 2. Go to Contact Form  Add New. The new form starts with name, email, subject and 
    message fields.
 3. Copy its shortcode, or add the Re:Maily Contact Form block, Elementor widget or
    WPBakery element to a page.

The [documentation](https://vlthemes.me/docs/remaily/) walks through [your first form](https://vlthemes.me/docs/remaily/your-first-form/),
every field, conditions and mail.

## FAQ

### Can I try it first?

Yes. [Open the demo in WordPress Playground](https://playground.wordpress.net/?blueprint-url=https%3A%2F%2Fraw.githubusercontent.com%2Fvlthemes%2Fremaily-playground%2Fmain%2Fblueprint.json):
a site in your browser with three ready forms. Nothing is installed anywhere.

### Can I move my Contact Form 7 forms?

Yes. Contact Form  Settings  Migrate from CF7 brings each form over with its fields,
both mails, its messages and its additional settings. Field names stay the same,
so mail tags keep working. The markup comes over as you wrote it, neatly indented,
without the `<p>` and `<br>` tags CF7 adds. Your Contact Form 7 forms aren’t changed.
Once you turn Contact Form 7 off, its [contact-form-7] shortcodes show the imported
forms. More in [From Contact Form 7](https://vlthemes.me/docs/remaily/from-contact-form-7/).

### Can I move my forms to another site?

Yes. Settings  Export & import downloads every form in one file; import that file
on the other site. A form keeps its shortcode unless the other site already has 
a form with it. For one form, copy its code from its Advanced tab and paste it into
a form on the other site.

### Is it ready for the GDPR?

Re:Maily gives you what the GDPR asks of a form plugin: messages can be exported
or erased with WordPress’s privacy tools, deleted after a number of days or not 
saved at all, the visitor’s IP is shortened by default, an acceptance box asks for
consent, and a suggested privacy policy text lists what is collected. Outside services(
captchas, Akismet, webhooks, payments) are off until you turn them on. Your own 
privacy policy and how you use the messages are still up to you.

### Where is the source of the editor’s script?

The form editor is built from the files in assets/src/editor, which ship with the
plugin. They are bundled with @wordpress/scripts into assets/build.

### Why don’t my mails arrive?

Re:Maily hands mails to WordPress, which needs a working mail setup. If mails go
missing, use an SMTP plugin. The message is saved in Entries either way. [Troubleshooting](https://vlthemes.me/docs/remaily/troubleshooting/)
has more fixes.

### How do I take payments?

Paste your [Stripe keys](https://dashboard.stripe.com/apikeys) or your [PayPal app’s](https://developer.paypal.com/dashboard/applications)
client ID and secret in Contact Form  Settings  Payments. Then add a Payment field
to a form from the editor’s More menu and set its amount, or pick the field it comes
from. With both providers set up, visitors pick one. They send the form, pay in 
it, and the message goes once the payment is through. Try it first with Stripe’s
test keys or PayPal’s sandbox. Step by step: [Payment field](https://vlthemes.me/docs/remaily/payment-field/).

### Can visitors choose who gets the mail?

Yes. Add a Select or Radio field whose options carry the addresses, such as “sales@
example.com : Sales”, and put its tag in the mail’s To. Visitors see the names, 
the mail goes to the address picked, and the addresses never show in the page’s 
code.

### Can I add the people who write to me to my mailing list?

With the Mailchimp, MailerLite, Kit (ConvertKit) or Brevo add-on (paid, on Contact
Form  Add-ons). Webhooks also send each message to Zapier, Make or n8n, which can
pass it to most mailing services.

### How do I style the form?

Set the –remaily-* CSS variables in your theme, override the templates in your-theme/
remaily/, or turn the default look off with the remaily_default_styles filter. See
[CSS variables](https://vlthemes.me/docs/remaily/css-variables/) and [Styles and templates](https://vlthemes.me/docs/remaily/styles-and-templates/).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Re:Maily – Contact Form Builder with Conditional Fields & Entries” is open source
software. The following people have contributed to this plugin.

Contributors

 *   [ vlthemes ](https://profiles.wordpress.org/vlthemes/)

[Translate “Re:Maily – Contact Form Builder with Conditional Fields & Entries” into your language.](https://translate.wordpress.org/projects/wp-plugins/remaily)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/remaily/), check out
the [SVN repository](https://plugins.svn.wordpress.org/remaily/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/remaily/) by [RSS](https://plugins.trac.wordpress.org/log/remaily/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  Last updated **41 minutes ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [conditional fields](https://wordpress.org/plugins/tags/conditional-fields/)[contact form](https://wordpress.org/plugins/tags/contact-form/)
   [form builder](https://wordpress.org/plugins/tags/form-builder/)[paypal](https://wordpress.org/plugins/tags/paypal/)
   [stripe](https://wordpress.org/plugins/tags/stripe/)
 *  [Advanced View](https://wordpress.org/plugins/remaily/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/remaily/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/remaily/reviews/)

## Contributors

 *   [ vlthemes ](https://profiles.wordpress.org/vlthemes/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/remaily/)