Magento 2 Module
BetaRocketVerifier_EmailVerification for Magento Open Source / Adobe Commerce 2.4.4+ (PHP 8.1-8.4)
A server-side module that verifies email addresses with the RocketVerifier API and rejects undeliverable and disposable addresses before an account, guest order or newsletter subscription is created. deliverable, risky and unknown are always accepted.
Not yet on Packagist or the Adobe Commerce Marketplace. Install it from the package source: copy the module into app/code/RocketVerifier/EmailVerification/ and run the setup commands below. The composer require line will work once the package is published. The module is new: test it on a staging store first.
What It Checks
Customer registration
Storefront, anonymous REST (POST /V1/customers) and GraphQL createCustomerV2
Guest checkout
Standard Luma checkout (REST), plus a quote-submit observer for GraphQL placeOrder and express checkouts; runs before payment is placed
Newsletter
Footer form, REST and GraphQL subscribeEmailToNewsletter
Admin-area actions (creating a customer or order in the admin) are not checked. Admin integrations that create customers through REST are.
Install
# copy the module to app/code/RocketVerifier/EmailVerification/, then:
bin/magento module:enable RocketVerifier_EmailVerification
bin/magento setup:upgrade
bin/magento setup:di:compile # production mode
bin/magento cache:enable rocketverifier
bin/magento cache:flush
# once published on Packagist:
# composer require rocketverifier/module-email-verificationConfiguration
Stores → Configuration → RocketVerifier → Email Verification
| Field | Default | Notes |
|---|---|---|
| Enabled | No | |
| API Key | Stored encrypted. Default or website scope. | |
| Timeout (seconds) | 5 | 5-30. Sent as the API timeout. |
| Block Undeliverable Emails | Yes | Rejects status undeliverable. The message depends on sub_status and suggests did_you_mean when present. |
| Block Disposable Emails | Yes | When No, disposable addresses are accepted even though the API reports them as undeliverable. |
| Fail Open | Yes | If the API cannot be reached, times out or returns an error (including 402 out of credits), accept the address. No: ask the shopper to try again. |
| Customer Registration / Guest Checkout / Newsletter Subscription | Yes | Turn each check on or off. |
bin/magento config:sensitive:set rocketverifier/general/api_key rv_live_...Caching, Credits & Logging
- Successful results are cached for 10 minutes in the RocketVerifier Results cache type (
rocketverifier), keyed by a SHA-256 of the lowercased address: a shopper who retries checkout, or a registration that also subscribes to the newsletter, is charged once. - Within one request the result is memoized, so the checkout plugin and the quote-submit observer never both call the API.
- Errors are never cached. If the cache type is disabled, every check calls the API (1 credit each).
- API errors are logged to
var/log/system.log:errorfor 401/402/403 (bad key or empty balance),warningfor timeouts and 5xx. - Test with a sandbox key and
@sandbox.rocketverifier.comaddresses to avoid charges.
Need Help?
Having trouble setting up the Magento module? We're here to help.
