← All integrations

Magento 2 extension

RateEmail_Core is a thin client: an HTTP client, a dedicated cache type, config, a service contract, and three hooks. No Hyva markup and no B2B code lives in core; those ship as side modules that depend only on core's service contracts.

Install

{
  "require": "composer require rate-email/module-magento2-core"
}

Then run setup upgrade as usual:

{
  "upgrade": "bin/magento setup:upgrade"
}

Configuration

System Configuration > Services > rate.email. The cache TTL default is21,600 seconds (6 hours), deliberately longer than a typical catalogue cache, because disposable and spam signals change less often than shop data. Reject results get their own TTL, independently overridable.

Magento extension configuration fields and defaults

FieldTypeDefault
EnabledCheckboxDisabled
API keyEncrypted, obscure fieldEmpty
Base URLTexthttps://api.rate.email
Timeout (ms)Text1500
Cache TTL (seconds)Text21600 (6 hours)
Cache TTL for reject results (seconds)TextSame as cache TTL, overridable
Fail modeSelect: open, closedopen
Verdict action (registration, newsletter, checkout)Select: block, flag, ignore, per hookSee behaviour table
Deliverability slow pathCheckboxEnabled
Shopper-visible reason codesMultiselectTYPO_SUSPECTED, DISPOSABLE_DOMAIN
Admin log levelSelectinfo

Verdict × hook behaviour

Default action per hook and verdict, all configurable

HookAcceptReviewReject
RegistrationPassPass; writes rate_email_verdict customer attributeBlock, shopper-safe message
NewsletterPassPass; writes rate_email_verdictBlock, shopper-safe message
CheckoutPassPass; writes rate_email_verdict and order commentBlock, shopper-safe message

Shopper-safe messages

The full reason list is never shown to a shopper. The message resolves by the highest-severity reason code present:

  • TYPO_SUSPECTED: shows the suggestion, "Did you mean name@gmail.com?"
  • DISPOSABLE_DOMAIN: "Temporary email addresses are not accepted."
  • Everything else: a generic "We couldn't verify this email address," so codes like SPAM_TRAP, ABUSE_REPORTED or CUSTOM_BLOCKLIST never leak detection logic to a visitor.

Admins see the full reason list in the customer grid column and the order view, not the collapsed message.

CLI

bin/magento rate-email:rate <email>

Calls the API, bypassing cache read but not cache write, and prints verdict, score, every reason and the syntax suggestion as a table.

bin/magento rate-email:cache:flush

Flushes the rate_email cache type. Same as bin/magento cache:flush rate_email.

Side-module roadmap

Planned, not built yet. Each depends only on core's service contracts.

RateEmail_Hyva

Hyva checkout and registration templates.

RateEmail_B2B

Company user invitations on Commerce B2B, with review always flagged rather than following the storefront default.

RateEmail_StockNotification

Back-in-stock subscription email checks.