How to Create a Registration Form With Email Verification
With the help of the JetFormBuilder plugin, it is possible to create a front-end registration form with email confirmation. To register on the site, the user should input the login and email address and follow the verification link sent to the mailbox. Once the user follows the link, the registration process is completed.
Email verification helps validate the user request before the form is submitted. Also, it makes the registration process fast and effortless — creating a password to complete the registration is not required. The user can use an automatically generated password to log in to the site in the future.

- Create a New Form
- Add Form Fields
- Set Up Post Submit Actions
- General Messages Settings
- Display the Form on the Front End
- Test the Flow
Create a New Form
In the WordPress Dashboard, navigate to WordPress Dashboard > JetFormBuilder > Add New to start creating a new form.
Enter the form name and delete the Hidden Field. To delete a field, press the button shaped as three dots and choose the “Delete” option in the drop-down list.

Add Form Fields
The form will contain two Text Fields and one Checkbox Field. The first Text Field will allow the user to enter the login, and the second Text Field will allow entering the email address. The Checkbox Field will serve as a “Remember Me” field.
Click on the first Text Field to edit it. In the right sidebar with Block settings, enter a FIELD LABEL and a FORM FIELD NAME values.
For example, the label of the field can be set as “Login,” and the name of the field can be set as “login.”

Then, press the blue plus-shaped button in the top left corner of the screen. Search for the “Text Field” to drag and drop a new field for the email address input below the first Text Field.

Once again, click on the new field to edit it. Provide a label and a name for the field. After that, scroll down the settings in the right sidebar to find the Field section. In the FIELD TYPE drop-down list of options, select “Email” to allow email address validation.

After adding the Text Fields, add a Checkbox Field below. Leave the FIELD LABEL empty and define the FORM FIELD NAME — for example, type “remember-me.”

Press the “Manage items” button to configure the options for this Checkbox field.
In the opened pop-up, click the “Add new Option” button. Complete a LABEL field — “Remember Me.” Insert “1” as the VALUE option.

Once done, “Update” the changes.
Set Up Post Submit Actions
Switch the Block settings tab in the right sidebar to the JetForm tab. Unfold the Post Submit Actions section.
Currently, there is only one default action — the “Send Email” action. Push the three dots under the action name and press “Delete” to remove this action.

Configure the “Verification” action
Click the “+ Verification“ button to add the “Verification” action. Only one “Verification” action can be added for each form.

Next, click the pencil-shaped icon under the action name to open the customization pop-up.

The “Verification” action sends an email with a verification link to the specified email address. The user should press this link within the defined timeframe to complete the verification. Once the verification is complete, the rest of the Post Submit Actions will be executed.

Start configuring the action by entering the number of hours into the LINK LIFESPAN field. This setting defines the timeframe within which the verification link remains active. If the LINK LIFESPAN field is left empty or if “0” is entered, the verification link will not have an expiration time.
After that, choose the email field from the suggestions under the EMAIL FIELD drop-down menu. Once the email field is specified, a new toggle will appear, encouraging you to “Create custom verification email.”

If the toggle remains disabled, a standard email will be sent to the user from the Administration Email Address set in WordPress Dashboard > Settings > General.

Enable the “Create custom verification email” toggle and proceed to the rest of the action settings. We will set up the “Send Email” action later.
Move on to the SUCCESS PAGE and the FAILED PAGE settings. Select a page where the user should be redirected in case of a successful or failed verification. If no page is selected, the user will be redirected to the page where the form was initially submitted. It is also possible to “configure a separate Redirect to Page action” for each case.

In our example, we will redirect the user to a “My Account” page after successful verification and to a static “Verification Failed” page if the user fails to complete the verification.
Once you finish the setup of this action, click the “Update” button to save the changes.
Set up the “Register User” action with an auto-generated password
Click the “+ New Action” button to add a new post-submit action. Change the “Send Email” to the “Register User” action. Press the pencil-shaped button to edit the action’s settings.

Firstly, find the FIELDS MAP section. Map the User Login field with the “Login” Text Field and the Email field with the “Email” Text Field. Therefore, the value entered by the user into the “Login” field will be saved as the user login, and the value of the “Email” field will be saved as the user’s email.
Then, map both the Password and the Confirm Password fields with the “Secure unique token” option. The “Secure unique token” option is added by the “Verification” action and represents a unique password auto-generated after form submission. This way, the form lets the user sign up with only their email and login, not requiring them to create a password manually at this stage. Later, this password will be sent to the user with a “Send Email” action.

Scroll past the FIELDS MAP section and select the User Role, which should be assigned to the newly registered user.

Next, scroll down to find and activate the “Log In User after Register:” toggle. This way, the user will be automatically logged in after completing the verification process.
Select the “remember-me” Checkbox Field as the “REMEMBER ME” FIELD option. This field helps to keep the user authenticated for a longer period of time — after checking the “Remember Me” checkbox, the user will remain logged in for fourteen days; if not, only for two days.
We have finished setting up the “Register User” action. Save the settings and proceed to the next step.

Add a “Send Email” action for a custom verification email
Now, it is time to create a custom verification email.
Open the settings of the “Verification” action once more to click the “+ Add Send Email action” button. It will automatically add a new “Send Email” action where each part of the verification email can be customized.
Leave the MAIL TO and FROM FIELD settings intact and proceed to configure the rest of the fields.

After setting up the REPLY TO, SUBJECT, FROM NAME, and FROM EMAIL ADDRESS fields, select the “HTML” CONTENT TYPE to allow the processing of HTML tags in the content of the email.
Then, edit the content of the email according to your needs. It is also possible to insert Macros to retrieve the values entered by the user into the form fields. To see the list of available Macros, click the wrench-shaped icon near the CONTENT field label.

The list contains general Macros that represent each form field and three special Macros added by the “Verification” action:
- %_jfb_verification_token% — represents a unique token generated for the user. If this token was set as the user password in the “Register User” action settings, you can insert the %_jfb_verification_token% macro in the email content to send the user this automatically generated password. The user will use it to log in;
- %_jfb_verification_token_id% — represents the ID of the verification token in the database. A reference to each verification token is saved in the “jet_fb_tokens” database table; however, the token itself is not stored there;
- %_jfb_verification_url% — a verification link the user receives to complete the verification process. The link contains the verification token and its ID.
We used only the %_jfb_verification_url% macro from the above list and composed such an email:
“Please confirm your registration on the site %CT::SiteName%.
<b>If this was a mistake, ignore this email, and nothing will happen.</b>
To complete the registration, click on the link:
%_jfb_verification_url%
The link expires in 4 hours!”
Click the “Update” button to close the customization window and proceed to the following “Send Email” action.
Add a “Send Email” action to send the password details
The next step is to compose an email, which will be sent to users after they complete the registration. The letter will include an automatically generated password that users can utilize to log into the site until they opt to modify it.
Press the blue “+ New Action” button to add a new “Send Email” action, and click the pencil-shaped icon under the action name to call the customization pop-up.

Select the “Email from submitted form field” option for the MAIL TO field. Then, pick the “Email” field in the FROM FIELD drop-down menu, which appears below.

After setting up the REPLY TO, SUBJECT, FROM NAME, and FROM EMAIL ADDRESS fields, select the “Plain Text” CONTENT TYPE option. To allow the processing of HTML tags in the content of the email, select the “HTML” CONTENT TYPE.
Finally, compose the content of the letter, which the users receive after they complete the registration. Include the %_jfb_verification_token% macro to send the users their auto-generated passwords.
We composed such a letter:
“Your registration on [%CT::SiteName%] is completed. Follow this link to enter your account:
https://test-site/account/
This is your temporary password: %_jfb_verification_token%
You can change the password in Profile Settings: https://test-site/account/settings/”

Once you are finished with the settings, “Update” the changes.
General Messages Settings
Scroll past the Post Submit Actions settings tab and unfold the General Messages Settings. Settings in this tab allow changing the default notifications that pop up after the form submission.
Most importantly, change the default FORM SUCCESSFULLY SUBMITTED message and encourage users to check their mailbox after they submit the form. For example: “Please, check your email inbox to complete the registration.”

Once you finish customizing the form messages, the form is complete. Hit the “Publish” button to save the result.
Display the Form on the Front End
Head to the page or template where the registration form should be located.
If editing the page with Block Editor, use the JetForm block to display the form in the needed part of the page.

If editing with Elementor, use the JetForm widget to place the form on the page.

For more details, follow the detailed “Adding the Form Block” guide to learn how to add the form in any page builder.
Test the Flow
Move to the front end and complete the form to register a new user. Use an email address you can access.

Check the email inbox for a new letter containing the verification link. Follow the link to complete the registration.

After following the link, one should be redirected to the page previously selected in the settings of the “Verification” action. The registration is complete, and a new user is created in WordPress.
Also, the second email is sent to the user containing the password to the account.

That’s it; you have learned how to create a registration form with a double opt-in using only the free version of the JetFormBuilder plugin.