Linux 软件免费装

Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification

开发者 forge12
更新时间 2026年8月28日 19:49
捐献地址: 去捐款
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv3
版权网址: 版权信息

标签

contact form 7 double opt-in gdpr email verification

下载

2.13 3.0.70 5.1.1 5.3.1 5.3.2 5.4.0 2.1.5 2.11 2.12 2.15 3.0.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.51 3.0.60 3.0.61 3.0.62 3.0.71 3.0.72 3.1.0 3.1.2 3.2.1 3.4.0 3.5.0 3.6.0 3.7.0 3.7.1 5.1.2 5.1.5 5.1.6

详情介绍:

Double Opt-In adds a mandatory email verification step to your Contact Form 7 forms. When a visitor submits your form, the original mail is not sent immediately. Instead, the plugin:
  1. Stores the submission in a secure database table.
  2. Sends a confirmation email with a unique, time-limited link.
  3. Only after the visitor clicks that link is the original form mail delivered.
This ensures: Out-of-the-box support for Contact Form 7. Additional form systems — Avada, Elementor, Gravity Forms, WPForms — are available as separate addon plugins. How It Works
  1. A visitor fills out your Contact Form 7 form and clicks submit.
  2. The plugin intercepts the submission, stores the form data, and generates a unique hash.
  3. A confirmation email is sent to the visitor's email address containing a verification link.
  4. The visitor clicks the link. The plugin verifies the hash, marks the opt-in as confirmed, and sends the original form mail (as if the form was just submitted).
  5. The confirmed opt-in is logged in the admin dashboard with timestamps and IP addresses for full GDPR compliance.
Quick Start Read the Quick Guide Free Features Pro Features Unlock the full potential of Double Opt-In with the Pro version: Additional Form Integrations: Email Validation & Spam Protection: Email & Communication: Analytics & Export: User Management: Support:

安装:

Automatic Installation
  1. Go to Plugins > Add New in your WordPress admin.
  2. Search for "Double Opt-In".
  3. Click Install Now and then Activate.
Manual Installation
  1. Download the plugin ZIP file.
  2. Upload it to /wp-content/plugins/double-opt-in/ or use Plugins > Add New > Upload Plugin.
  3. Activate via the WordPress Plugins menu.
First-Time Setup
  1. After activation, go to Double Opt-In in the WordPress admin menu.
  2. Navigate to Forms to see all detected Contact Form 7 forms.
  3. Click on a form to enable Double Opt-In and configure the confirmation email.
  4. Set the Recipient Field to the form field that contains the visitor's email address (e.g. your-email).
  5. Customize the Subject and Body of the confirmation email, or choose a template preset.
  6. Save the settings and test the form.
Requirements

屏幕截图:

  • **Form Settings** -- Per-form configuration with sender, subject, recipient field, confirmation page, and conditions.
  • **Email Template Editor** -- Visual drag & drop editor with blocks, live preview, and mobile preview.
  • **Template Presets** -- Choose from pre-built email template designs.
  • **Single Opt-In View** -- Detailed view of an opt-in record with form data, timestamps, and IP addresses.
  • **Global Settings** -- Configure data retention, token expiry, telemetry, and opt-out settings.
  • **Category Management** -- Organize opt-in records into categories.

升级注意事项:

5.4.0 Changes how submissions are handled on forms where you selected an acceptance field. That checkbox is now required at submit time on every form system, including those where it was previously only recorded — a submission that does not confirm it is rejected. Forms whose acceptance field no longer exists keep accepting submissions and are reported under Tools > Site Health instead, so a settings mistake cannot take your registrations offline. No schema changes. 5.3.1 Fixes the opt-out link in your emails. The opt-out page you selected was being discarded when settings were read, so [doubleoptoutlink] sent recipients to your front page instead of your consent centre. Unsubscribing still worked, but people never saw their overview. Recommended for everyone, no schema changes. 5.3.0 The plugin now checks its own runtime requirements and tells you when one is not met: a missing database table shows up under Tools > Site Health with the cause spelled out, plus an exportable "Double Opt-In" section in Site Health > Info to send along with support requests. Nothing to configure, no schema changes. 5.2.0 Adds Support and Feedback links so problems can reach us instead of only reaching the review page, and an optional credit link on the confirmation page -- off unless you switch it on. Also repairs the plugin's own links, which pointed at pages that no longer exist. No schema changes. 5.1.7 Telemetry is switched off for good: the daily snapshot is gone and the scheduled job is removed from your site. Nothing left the site before either -- the endpoint had been unreachable -- but the setting that was meant to prevent it was never checked. Recommended for everyone, no schema changes. 5.1.6 PHP 7.4 compatibility fix. The plugin declared support for PHP 7.4 but shipped a small amount of PHP 8 syntax, which would have caused a fatal error on a 7.4 server. Recommended for everyone — no schema changes. 5.1.5 Security & code-quality hardening. Note: the visitor IP is now read from REMOTE_ADDR by default — sites behind a CDN/reverse proxy should register their proxy ranges via the new f12_doi_trusted_proxies filter. Safe to update — no schema changes. 5.1.4 Maintenance release — safe to update, no schema changes. 5.1.2 Email Template editor fixes: centered text now stays centered in sent emails, the builder no longer shows a duplicate Save button, and the Social Icons block gained an editable settings panel. Safe to update — no schema changes. 5.1.1 Cosmetic + maintenance update: the admin menu now reads "Double Opt-In" (was "DOI Admin"), plus bundle-only Addons-page polish (a single "Upgrade to Pro" CTA, no per-module license prompts). Safe to update — no schema changes. 5.1.0 Form completeness gate: forms with missing required fields are now auto-disabled on upgrade and at save time, so a half-configured form can no longer silently swallow opt-ins. New file-lifecycle hooks delete attachments when an opt-in is deleted (CF7, Avada, Elementor, Gravity, WPForms). New REST endpoints for opt-out page generation and consent-export audit history. Several legacy-frontend and Avada placeholder fixes. Safe to update — no schema changes; one idempotent admin_init migration disables incomplete forms. 5.0.0 Major release. The free Core plugin now focuses on Contact Form 7. All other form integrations (Avada, Elementor, Gravity Forms, WPForms) move to separate paid addon plugins. Existing free-plugin users with Avada forms configured qualify for a free permanent grandfather license — a one-click claim button appears in admin. Requires PHP 7.4+ (no longer PHP 8.0). 3.7.2 Bugfix: Fixed placeholder replacement and admin display broken for Avada forms. Form field placeholders like [doi_email] and [doi_name] now work correctly in emails. Admin detail view and AJAX modal now show actual form data instead of metadata keys. Added missing [doubleoptin_privacy_url] system placeholder. Safe to update. 3.7.1 Bugfix: Fixed toggle switch, Avada DOI settings, and Avada recipient field resolution. Important: Avada Forms support will move to the Pro version in 3.8.0 -- upgrade now to keep using it. Contact Form 7 remains free. Safe to update. 3.7.0 CSS fix for table width on admin pages. Improved compatibility with Pro 3.7.0 license system. Safe to update. 3.6.0 Moved consent export to Pro plugin. The export UI and AJAX endpoint are no longer available without the Pro plugin. Added f12_doi_database_page_after_forms hook for extensibility. Safe to update. 3.5.0 Fixed confirmation mail not being sent for forms with Quiz, Acceptance, or required fields. CF7 validation is now bypassed during opt-in confirmation mail delivery. Safe to update. 3.4.0 Fixed translation loading issues on WordPress 6.7+, review notice not displaying, and database table missing errors. Added 133+ missing German translations for the Email Editor and related features. Safe to update. 3.3.0 New: Delete confirmation modal, GDPR consent export (JSON/CSV), admin tooltips, error redirect page, hCaptcha compatibility. New: Unique Email redirect behavior (Pro). Fixed reCAPTCHA re-activation typo. Safe to update -- no database changes. 3.2.3 Bugfix release: Fixes broken toggle switches on the settings page. Safe to update -- no database changes. 3.2.2 Bugfix release: Fixes double-firing of the after_confirm hook. Safe to update -- no database changes. 3.2.1 Bugfix release: Fixes a fatal error on new, unsaved CF7 forms. Safe to update. 3.2.0 Important: Major Update -- Please backup before updating! This version includes significant changes to the form management system, email templates, and database structure. We strongly recommend creating a full site backup before updating. New features: Visual email editor, centralized form settings, GDPR anonymization, and more. 3.1.0 Adds optional anonymous telemetry (opt-out). No breaking changes.

常见问题:

How does Double Opt-In work?

When a visitor submits your form, the plugin stores the submission and sends a confirmation email with a unique link. The original form mail is only delivered after the visitor clicks that link. This verifies that the email address is valid and belongs to the person who filled out the form.

Is this plugin GDPR / DSGVO compliant?

Yes. The plugin tracks all data required for GDPR compliance: consent text, registration and confirmation timestamps, IP addresses, and form data. It integrates with WordPress Privacy Tools for personal data export and erasure requests. You can configure automatic data retention and anonymization policies.

Which form plugins are supported?

The free Core plugin supports Contact Form 7 out of the box. Support for Avada Forms, Elementor Pro Forms, WPForms, and Gravity Forms is available through separate paid addon plugins (install alongside Core).

I used Avada with this plugin before. What happens now?

If you configured Double Opt-In on an Avada form before Core 5.0, a one-time notice appears in your WordPress admin with a "Claim free Avada grandfather license" button. One click installs the paid Avada addon with a permanent free license bound to your site. Your existing setup continues working with zero configuration changes. The free claim window is open until October 2026.

Can I customize the confirmation email?

Yes. The plugin includes a visual drag & drop email editor with block-based design. You can choose from pre-built template presets or create your own. Placeholders like [doubleoptinlink], [doubleoptin_form_date], and form field values are replaced automatically.

What happens if the user does not confirm?

Unconfirmed opt-ins are stored in the database and can be cleaned up automatically. You can configure the retention period for unconfirmed entries in the settings (e.g. delete after 30 days). In the Pro version, you can also send automatic reminder emails.

Can I redirect the user to a specific page after confirmation?

Yes. In the per-form settings, you can select a Confirmation Page. The user will be redirected there after clicking the confirmation link.

Does the plugin work with CAPTCHA plugins?

Yes. The plugin automatically disables CAPTCHA validation (Google reCAPTCHA, hCaptcha, CF7 Captcha by Forge12) when re-sending the original form mail after confirmation. This prevents false spam detections during the confirmation step. CAPTCHA is re-enabled immediately after the mail has been sent.

Can I enable Double Opt-In only when a checkbox is checked?

Yes. Use the Conditions setting in the per-form configuration. Enter the name of a form field (e.g. a checkbox). Double Opt-In will only be triggered when that field has a value.

How do I access form data after confirmation?

Legacy approach (WordPress hook): add_action( 'f12_cf7_doubleoptin_after_confirm', function( $hash, $optIn ) { $data = maybe_unserialize( $optIn->get_content() ); }, 10, 2 ); Modern approach (typed event, since 4.0): Use OptInConfirmedEvent via the EventDispatcher. The event provides getFormData(), getEmail(), getFormId(), and more. See docs/hooks-and-events.md for the complete reference.

Does it work with WordPress Multisite?

Yes. When activated network-wide, the plugin creates database tables on all existing sites. New sites added to the network automatically get their own tables via the wp_initialize_site hook.

Can I use this without Contact Form 7 or Avada?

The free version requires at least one supported form plugin. However, developers can register custom form integrations using the f12_cf7_doubleoptin_register_integrations action hook. See the developer documentation for details.

Where can I find the developer documentation?

The complete hook, filter, and event reference is available at docs/hooks-and-events.md inside the plugin directory. It covers all 18 action hooks, 23 filters, and 11 typed events with code examples.

How do I report a bug or request a feature?

Please visit forge12.com or contact us via the WordPress support forum.

更新日志:

5.4.0 The consent checkbox is now enforced everywhere 5.3.2 5.3.1 5.3.0 Telling you when something is broken: 5.2.0 Getting hold of us: Optional credit link: Fixes: 5.1.7 Telemetry removed: 5.1.6 PHP 7.4 compatibility: 5.1.5 Security & hardening: 5.1.4 5.1.2 Email Template Editor fixes: 5.1.1 5.1.0 Form Completeness Gate: File Lifecycle (GDPR data minimization): Form Settings UX: Addon Platform: REST API: Bug Fixes: Architecture: 5.0.0 Breaking change: plugin family restructured into Core + paid addons. 3.7.2 Bug Fixes: 3.7.1 Bug Fixes: Announcements: 3.7.0 Bug Fixes: Compatibility: 3.6.0 Architecture: 3.5.0 Bug Fixes: Improvements: 3.4.0 Bug Fixes: Improvements: 3.3.0 New Features: New Features (Pro): Bug Fixes: Improvements: Testing: 3.2.4 New Features: Improvements: 3.2.3 Bug Fixes: Improvements: 3.2.2 Bug Fixes: Developer Features: Improvements: 3.2.1 Bug Fixes: Improvements: 3.2.0 Email Template Editor: Form Management: WordPress & Multisite: GDPR & Security: Architecture & Performance: Bug Fixes & Improvements: 3.1.1 3.1.0 3.0.72 3.0.70 3.0.62 3.0.60 3.0.51 3.0.50 3.0.0 2.0.0 1.0.0