Title: yuiami.jp Suite Form
Author: Takashi Fujisaki
Published: <strong>November 6, 2026</strong>
Last modified: November 6, 2026

---

Search plugins

![](https://ps.w.org/yuiamijp-suite-form/assets/banner-772x250.png?rev=3787185)

![](https://ps.w.org/yuiamijp-suite-form/assets/icon.svg?rev=3787185)

# yuiami.jp Suite Form

 By [Takashi Fujisaki](https://profiles.wordpress.org/ejointjp/)

[Download](https://downloads.wordpress.org/plugin/yuiamijp-suite-form.1.1.1.zip)

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

 [Support](https://wordpress.org/support/plugin/yuiamijp-suite-form/)

## Description

Suite Form is a mail form plugin designed for Japanese business websites.

 * Visual form builder — no HTML knowledge required to add fields or edit mail templates
 * Route the admin notification to different recipients and Cc depending on the 
   option the visitor selects in a select or radio field
 * Show a field only when a specific option is selected in a select, radio, or checkbox
   field. A hidden field is not required, and its value is not sent
 * Test sending: while it is on, the admin notification for your own submissions
   goes only to you, with the usual recipients listed in the body, and visitors’
   submissions are not affected
 * Gutenberg blocks — pick a form from a dropdown, no shortcode typing
 * Confirmation screen and thank-you page with its own URL (trackable in analytics)
 * Postal code to address autofill without any external API — the postal code data
   ships with the plugin
 * Prefecture select field, katakana/hiragana validation, and automatic input normalization(
   full-width to half-width, half-width kana to full-width)
 * Form definitions live in the WordPress database and can be exported and imported
   as JSON to reuse them across sites
 * Import forms from MW WP Form: fields, validation rules, mail settings, and the
   confirmation and complete screens are converted, and a report shows everything
   that could not be carried over before anything is created
 * Import forms from Contact Form 7: form-tags, mail settings, the `[confirm]` button
   of the Contact Form 7 add confirm plugin, and the redirect of `on_sent_ok` are
   converted, with the same report
 * Submissions are stored as files in a protected directory, never in the database
 * File attachments with MIME inspection
 * reCAPTCHA v3 support
 * Works on typical Japanese shared hosting (XSERVER, lolipop, and others)

### External Services

This plugin can optionally connect to Google reCAPTCHA v3 to help protect your forms
from spam. It only connects to Google if the site owner enables reCAPTCHA by entering
a site key and a secret key under Suite Form > Settings. Both keys are required:
once both are set, reCAPTCHA is active on every form, and you can turn it off for
an individual form from the Form Settings tab of the form builder. If either key
is empty, reCAPTCHA is disabled and the plugin makes no external requests at all.

When reCAPTCHA is enabled:

 * Every page that displays a Suite Form form with reCAPTCHA turned on loads Google’s
   reCAPTCHA API script (`https://www.google.com/recaptcha/api.js`).
 * When a visitor submits a form, the plugin sends the visitor’s IP address and 
   a reCAPTCHA verification token to Google’s siteverify endpoint (`https://www.
   google.com/recaptcha/api/siteverify`) to confirm the submission was not made 
   by a bot.

This service is provided by Google LLC. See [Google Privacy Policy](https://policies.google.com/privacy)
and [Google Terms of Service](https://policies.google.com/terms) for more information.

## Screenshots

[⌊The form builder. Add fields such as postal code, prefecture, katakana, and file
upload without writing HTML, and set the required flag and validation per field.⌉⌊
The form builder. Add fields such as postal code, prefecture, katakana, and file
upload without writing HTML, and set the required flag and validation per field.⌉[

The form builder. Add fields such as postal code, prefecture, katakana, and file
upload without writing HTML, and set the required flag and validation per field.

[⌊Mail notifications. Route the admin notification to different recipients and Cc
depending on the option the visitor selects.⌉⌊Mail notifications. Route the admin
notification to different recipients and Cc depending on the option the visitor 
selects.⌉[

Mail notifications. Route the admin notification to different recipients and Cc 
depending on the option the visitor selects.

[⌊The form on the site. The prefecture and address were filled in from the postal
code, with no external API.⌉⌊The form on the site. The prefecture and address were
filled in from the postal code, with no external API.⌉[

The form on the site. The prefecture and address were filled in from the postal 
code, with no external API.

[⌊The confirmation screen. Visitors review their input before sending.⌉⌊The confirmation
screen. Visitors review their input before sending.⌉[

The confirmation screen. Visitors review their input before sending.

[⌊The Suite Form block in the block editor. Pick the form from a dropdown, no shortcode
typing.⌉⌊The Suite Form block in the block editor. Pick the form from a dropdown,
no shortcode typing.⌉[

The Suite Form block in the block editor. Pick the form from a dropdown, no shortcode
typing.

[⌊Import from MW WP Form or Contact Form 7. The report lists everything that could
not be carried over before the form is created.⌉⌊Import from MW WP Form or Contact
Form 7. The report lists everything that could not be carried over before the form
is created.⌉[

Import from MW WP Form or Contact Form 7. The report lists everything that could
not be carried over before the form is created.

## Blocks

This plugin provides 2 blocks.

 *   Suite Form Embeds a form created with Suite Form.
 *   Suite Form Complete Screen Shows the completion message after a Suite Form 
   submission.

## Installation

 1. Upload the plugin files to the `/wp-content/plugins/yuiamijp-suite-form` directory,
    or install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.

## FAQ

### Where are submissions stored?

In a randomized, access-protected directory under `wp-content/uploads/`. Submission
data is never written to the database.

### Where are form definitions stored?

In the WordPress options table, one option per form (`suite_form_form_{id}`) holding
the definition as JSON. Because they live in the database, form definitions are 
included in any database backup or migration, and on a multisite network each site
has its own forms. To move a form between sites, use Export and Import in the form
list, or read the option with WP-CLI (`wp option get suite_form_form_contact`).

### What remains after uninstall?

Form definitions (options named `suite_form_form_*` and `suite_form_forms`) and 
submission data (`wp-content/uploads/yuiamijp-suite-form/`) are kept, because they
are your data. The option `suite_form_data_dir_name` that records where the submission
data is stored is kept as well, so if you install the plugin again it keeps using
the same data and keeps deleting submissions after their retention period. Delete
them manually if you no longer need them. Development builds before 1.0.0 kept definitions
in `wp-content/suite-form/`, where they were readable over the web; delete that 
directory too if it is still present.

### What personal data does Suite Form store?

Each saved submission record includes the values the visitor entered, plus the visitor’s
IP address and browser user agent (useful for spam diagnosis). All of it stays in
the access-protected directory on your server and is never sent to any external 
service. The only exception is reCAPTCHA: when you enable it, the visitor’s IP address
is sent to Google as described under External Services.

### Which file types can visitors attach?

The file field accepts only the extensions you list in its `accept` setting, and
each upload is additionally verified against the file’s actual content (MIME inspection).
The verified formats are: pdf, jpg/jpeg, png, gif, webp, heic/heif, avif, txt, md,
csv, mp4, mov, doc/docx, xls/xlsx, ppt/pptx. Executable files (php, exe, sh, and
similar) and archives (zip, rar, 7z, tar, gz, and similar) are always rejected even
if listed in `accept`. Other extensions are effectively blocked by the content check.
In the Mail tab, the `{{field_name}}` placeholder of a file field inserts the name
of the attached file (the same name as the attachment of the admin notification,
or nothing if no file was attached).

### Does Suite Form need its own SMTP settings?

No. Suite Form sends mail through WordPress’s built-in `wp_mail()`, the same function
core and most plugins use, so it never handles SMTP credentials itself. Plain `wp_mail()`
delivery is often unreliable or lands in spam on shared hosting. For production 
use, install an SMTP plugin such as WP Mail SMTP and configure it with your mail
provider (SPF/DKIM); Suite Form will use it automatically. In each form’s Mail tab,
set the sender address to an address on your site’s domain; a sender on another 
domain (for example a free webmail address) is likely to fail DMARC checks and land
in spam. If your SMTP plugin forces the sender address, that setting takes precedence.
The auto-reply’s Reply-To defaults to the admin notification’s recipient addresses,
so a visitor who replies to the auto-reply can see all of them; set the auto-reply’s
own Reply-To in the Mail tab if you’d rather not expose them.

Suite Form also sets the envelope sender (Return-Path) of its own messages to the
From address. Without an SMTP plugin, `wp_mail()` falls back to PHP’s `mail()`, 
and on some hosts the envelope sender then becomes a host-side address instead of
your From address. SPF is then checked against the host’s domain rather than yours,
so the message cannot pass DMARC through SPF and may land in spam or be rejected,
even though `wp_mail()` reports success. On hosts that already use the From address
as the envelope sender (lolipop, for example), and when sending through an SMTP 
plugin, this changes nothing. With the envelope sender aligned, SPF is evaluated
against your domain, so make sure your domain’s SPF record includes your hosting
provider’s mail servers. Bounces now return to the From address; if your domain’s
SPF record lists only an external mail provider (for example Google Workspace) and
not your host, aligning the envelope sender can make SPF fail where the host’s default
used to pass. Developers can add their host to the SPF record, or turn this off (
or point it at a dedicated bounce address) with the `suite_form_envelope_sender`
filter (see `docs/hooks.md` in the plugin folder; written in Japanese).

### What happens when an email cannot be sent?

The visitor still sees the thank-you page, and the submission is written to the 
protected data directory with `_status` set to `mail_failed` (even on forms that
do not otherwise store submissions), so nothing is lost. Suite Form then shows a
red notice at the top of the admin screens (the block editor hides such notices)
to users who can manage forms, with the number of affected submissions per form 
and the last error reported by `wp_mail()` (for example, an SMTP authentication 
failure). Fix the mail settings, usually in your SMTP plugin, handle the stored 
submissions, then click “Mark as checked” in the notice. The same notice reports
submissions that were interrupted mid-send and recovered by the hourly cleanup task(`
_status: unknown`), and submissions that could not be saved at all. The notice never
contains what the visitor entered; it only counts failures and keeps the error message
with email addresses masked.

### Can the admin notification go to different people depending on what the visitor selects?

Yes. In the form’s Mail tab, under Admin Notification, choose a select or radio 
field in “Route by field”, then enter recipients and Cc for each option. An option
whose recipients or Cc are left empty uses the form’s main recipients or Cc. The
auto-reply’s Reply-To follows the routed recipients, so a visitor who replies reaches
the people who received the notification. Addresses are always the ones you enter
in the form settings; what the visitor selects only decides which of them are used.
Because an empty field falls back to the main setting, you cannot make a single 
option skip a Cc that the main setting sends to everyone else. If you need that,
leave the main Cc empty and enter the address explicitly in every rule that should
receive it.

### Can I show a field only when a specific option is selected?

Yes. Open the field in the Fields tab, choose the select, radio, or checkbox field
it depends on in “Show this field” under Display condition, then check the options
that should show it. The field is shown only while one of the checked options is
selected, and a required field is required only while it is shown. When it is hidden,
its value is discarded on the server and is neither sent in emails nor stored, even
if the visitor typed something before changing the option. A field used in a display
condition cannot have a display condition itself.

### How can I test a form without sending email to the real recipients?

In the form’s Form Settings tab, turn on “Send the admin notification only to the
tester” under Test sending. While it is on, when a user who can edit forms submits
the form while logged in, the admin notification is sent only to the address entered
there (or, if it is empty, to that user’s own email address), without Cc or Bcc.
Its subject starts with [Test], and its body lists the To, Cc, and Bcc it would 
normally be sent to, so you can check the recipients and routing as well. The auto-
reply is sent as usual to the address entered in the form. Submissions from visitors
who are not logged in are not affected, so forgetting to turn it off does not lose
real inquiries, but turn it off when you are done. The form list shows a “Test mode”
badge while it is on.

### Where does the postal code data come from?

The bundled data is derived from Japan Post’s freely redistributable ken_all data
and is refreshed through plugin updates.

### Can I move my forms from MW WP Form?

Yes. When the site has MW WP Form forms, the form list shows an “Import from another
plugin” button. Pick a form, and Suite Form shows how it will be converted (fields,
validation rules, mail settings, the confirmation screen, and the complete page)
together with a report of what cannot be carried over, before anything is created.
The original form is not changed, and the import works even when MW WP Form is deactivated,
as long as its forms remain in the database. Pages are not rewritten: after checking
the new form, replace the old form on each page with the Suite Form block or shortcode.
Past submissions are not imported.

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

Yes, in the same way. Pick a Contact Form 7 form in the “Import from another plugin”
dialog, check the report, and create the form. Form-tags become fields (an acceptance
checkbox becomes a required checkbox, a select of the 47 prefectures becomes a Prefecture
field), mail tags in the mail templates are rewritten, and literal Reply-To, Cc,
and Bcc addresses of Mail are carried over. Contact Form 7 has no confirmation screen:
the imported form gets one when the original used the `[confirm]` button of the 
Contact Form 7 add confirm plugin. The complete page is taken from an `on_sent_ok`
redirect when there is one; otherwise create a complete page after the import. Mail(
2) is carried over as the auto-reply when it is addressed to an email field of the
form. Error messages, reCAPTCHA keys, and submissions stored by Flamingo are not
imported. The original form is not changed, and the import works even when Contact
Form 7 is deactivated.

### Can I customize Suite Form with code?

Yes. Suite Form provides filters and actions for changing the form definition at
runtime, generating select options dynamically, setting initial values, adding cross-
field validation, adjusting what gets stored, customizing mail merge tags, choosing
the completion page, and reacting after a submission (for example, to notify Slack).
See `docs/hooks.md` in the plugin folder (written in Japanese) for the full list
with examples.

### Can I change the error messages?

Yes. Suite Form > Settings > Error messages sets the site-wide defaults, and the
Error messages group in each field’s settings in the form builder overrides them
for that field. Leave a message empty to use the built-in text shown as its placeholder.
In the messages for character limits, `%d` is replaced with the limit.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“yuiami.jp Suite Form” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Takashi Fujisaki ](https://profiles.wordpress.org/ejointjp/)

“yuiami.jp Suite Form” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/yuiamijp-suite-form/contributors)
for their contributions.

[Translate “yuiami.jp Suite Form” into your language.](https://translate.wordpress.org/projects/wp-plugins/yuiamijp-suite-form)

### Interested in development?

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

## Changelog

#### 1.1.1

 * Documentation: corrected the list of file types that visitors can attach. ZIP
   and other archive files are always rejected.

#### 1.1.0

 * Added display conditions: show a field only when a specific option is selected
   in a select, radio, or checkbox field. A hidden field is not required, and its
   value is discarded.
 * The `{{field_name}}` placeholder of a file field now inserts the name of the 
   attached file in mail subjects and bodies. The `suite_form_merge_tag` filter 
   no longer runs for these placeholders.
 * Added test sending: while it is on, the admin notification for submissions from
   logged-in users who can edit forms is sent only to the tester, with the usual
   recipients listed in the body.

#### 1.0.0

 * Initial release.
 * reCAPTCHA v3 is active on every form once the site key and secret key are set.
   Turn it off per form from the Form Settings tab.

## Meta

 *  Version **1.1.1**
 *  Last updated **9 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 7.0 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.0 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/yuiamijp-suite-form/) and [Japanese](https://ja.wordpress.org/plugins/yuiamijp-suite-form/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/yuiamijp-suite-form)
 * Tags
 * [confirmation](https://wordpress.org/plugins/tags/confirmation/)[contact form](https://wordpress.org/plugins/tags/contact-form/)
   [form](https://wordpress.org/plugins/tags/form/)[Japanese](https://wordpress.org/plugins/tags/japanese/)
   [mail form](https://wordpress.org/plugins/tags/mail-form/)
 *  [Advanced View](https://wordpress.org/plugins/yuiamijp-suite-form/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/yuiamijp-suite-form/reviews/)

## Contributors

 *   [ Takashi Fujisaki ](https://profiles.wordpress.org/ejointjp/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/yuiamijp-suite-form/)