Description
Solviroa is a guided email setup, migration and diagnostic tool for WordPress. It is designed to help administrators understand and repair the complete sending path instead of only storing SMTP credentials.
Free includes:
- A step-by-step setup wizard for the site’s sender identity and connection.
- Detection of existing mail plugins and compatible import of existing SMTP configuration where supported.
- Provider-neutral SMTP, OAuth and transactional API connection methods.
- Non-sending preflight checks before a real test message is attempted.
- Human-readable diagnostics for connection, environment and mail-routing problems.
- Read-only MX, SPF, DKIM, DMARC and nameserver checks without writing DNS records.
- A local assistant that explains the current connection, health state and relevant next steps using data already stored on the site.
- Email history with delivery-attempt status and non-secret technical details.
- An optional Simulation Mode that lets WordPress exercise
wp_mail()flows without contacting the provider or delivering a real message.
What makes Solviroa different?
Solviroa uses a migration-first and diagnostic-first workflow rather than treating email setup as only a credentials form. Its Free workflow combines these steps in one place:
- Recover before re-entering: it detects compatible settings from several existing WordPress mail plugins and can import supported SMTP/OAuth configuration as an unverified candidate instead of immediately replacing the current mail route.
- Verify before activation: imported or newly entered connections remain pending until Solviroa runs provider/environment checks; the normal setup flow does not activate a connection merely because credentials were saved.
- Diagnose the complete path: connection checks, WordPress routing state, mail history and read-only MX/SPF/DKIM/DMARC/nameserver checks are presented together with human-readable explanations.
- Test without delivery: Simulation Mode can exercise WordPress
wp_mail()behavior without contacting the selected provider or delivering a real message. - Explain local state: the built-in assistant is deterministic and uses the state already stored on the WordPress site; it is not a remote AI/chat service and does not send the administrator’s questions to the developer.
These capabilities are intended to make migration, diagnosis and verification the primary workflow, with SMTP/API/OAuth transport configuration as one part of that workflow.
Solviroa does not claim that an accepted message reached the recipient’s inbox. Provider acceptance and confirmed delivery are different states.
Solviroa Free works independently. Solviroa Pro is a separate optional add-on for continuity features such as multiple connections, fallback, retry, Smart Routing, alerts, compatible delivery confirmation and reports. Free functionality does not require Pro.
External services
Solviroa has no telemetry or analytics service and does not send plugin-usage data to the developer. External connections occur only when an administrator configures or checks a selected mail connection, completes OAuth, explicitly sends mail, or when WordPress itself sends mail through an activated connection.
For provider-based sending, the selected provider can receive credentials or OAuth tokens required for authentication and, when a message is sent, the message data required for delivery. Depending on the provider this can include sender, To/CC/BCC, Reply-To, subject, headers, body and attachments. Credentials and OAuth tokens are stored locally in the WordPress site in encrypted form when the server supports the required cryptography.
Google OAuth
Used when an administrator chooses the Google OAuth connection. Solviroa sends the OAuth client identifier, redirect URI, requested scopes and OAuth protocol values to Google when the administrator starts or completes authorization. After authorization, the access token is sent to Google’s user-information endpoint to identify the authorized account. If the administrator disconnects Google, the stored access or refresh token may be sent to Google’s token-revocation endpoint. Google returns authorization/token data; Solviroa does not receive the user’s normal Google password.
- API/authorization endpoints used:
accounts.google.com,oauth2.googleapis.com,openidconnect.googleapis.com - Service: Google OAuth
- Terms: Google Terms
- Privacy: Google Privacy Policy
Gmail API
Used only when Gmail API is the selected sending method. On a send, Solviroa submits the authorized message to Gmail, including the message envelope/content needed for delivery. The openid, email and gmail.send scopes are used by the configured OAuth flow.
- API endpoint used:
gmail.googleapis.com - OAuth scope identifier used by the authorization flow:
www.googleapis.com/auth/gmail.send - Service: Gmail API
- Terms: Google APIs Terms
- Privacy: Google Privacy Policy
Microsoft OAuth
Used when an administrator chooses Microsoft OAuth. Solviroa sends the OAuth client/application data, redirect URI, requested scopes and OAuth protocol values during authorization. It does not receive the user’s normal Microsoft password.
- Authorization/token endpoint domain used:
login.microsoftonline.com - Service: Microsoft identity platform
- Terms: Microsoft Services Agreement
- Privacy: Microsoft Privacy Statement
Microsoft Graph
Used after Microsoft OAuth to read the authorized account identity and to submit mail when Microsoft Graph is the selected method. Current delegated scopes include openid, profile, email, offline_access, User.Read and Mail.Send. Message data is sent only when a message is submitted.
- API endpoint domain used:
graph.microsoft.com - Service: Microsoft Graph
- Terms: Microsoft Services Agreement
- Privacy: Microsoft Privacy Statement
Brevo
Used only when Brevo is selected. Solviroa can send the configured API key for an account/preflight check and can submit sender, recipients, subject, headers, body and attachments when sending transactional email.
- API endpoint domain used:
api.brevo.com - Service: Brevo
- Terms: Brevo Terms
- Privacy: Brevo Privacy Policy
SendGrid
Used only when SendGrid API is selected. During preflight, Solviroa sends the configured API key plus a small sandbox message payload built from the configured sender and Solviroa preflight text; SendGrid validates the request in Sandbox Mode and does not deliver that preflight message. During a real send, Solviroa sends the configured API key and the message data required for delivery.
- API endpoint domain used:
api.sendgrid.com - Service: SendGrid
- Terms: Twilio Terms
- Privacy: Twilio Privacy Notice
Mailgun (US/EU)
Used only when Mailgun API is selected. During preflight, Solviroa sends the configured API key, selected region, sending domain, configured sender and a small Solviroa preflight payload with Mailgun test mode enabled, so the preflight request is validated but not delivered. During a real send, Solviroa sends the configured API key/domain plus the message data required for delivery to the selected US or EU endpoint.
- API endpoint domains used:
api.mailgun.net(US) andapi.eu.mailgun.net(EU) - Service: Mailgun
- Terms: Mailgun Terms
- Privacy: Mailgun Privacy Policy
Postmark
Used only when Postmark is selected. Solviroa sends the configured server token for server/preflight checks and sends message data to the Email API when a message is submitted.
- API endpoint domain used:
api.postmarkapp.com - Service: Postmark
- Terms: Postmark Terms
- Privacy: Postmark Privacy Policy
Resend
Used only when Resend is selected. Solviroa sends the configured API key and message data to Resend when a transactional message is submitted.
- API endpoint domain used:
api.resend.com - Service: Resend
- Terms: Resend Terms
- Privacy: Resend Privacy Policy
MailerSend
Used only when MailerSend is selected. Solviroa sends the configured API token for domain/preflight checks and sends message data to the Email API when a message is submitted.
- API endpoint domain used:
api.mailersend.com - Service: MailerSend
- Terms: MailerSend Terms
- Privacy: MailerSend Privacy Policy
SMTP2GO
Used only when SMTP2GO API is selected. Solviroa sends the configured API key for account/preflight checks and sends message data to the Email API when a message is submitted.
- API endpoint domain used:
api.smtp2go.com - Service: SMTP2GO
- Terms: SMTP2GO Terms
- Privacy: SMTP2GO Privacy Policy
Amazon SES
Used only when Amazon SES is selected. Solviroa signs requests with the configured AWS access credentials and selected region. Account-status requests are sent during preflight; sender, recipients and message content are sent to the regional SES v2 endpoint when email is submitted.
- Regional API endpoint pattern used:
email.<region>.amazonaws.com - Service: Amazon SES
- Terms: AWS Service Terms
- Privacy: AWS Privacy Notice
SparkPost / Bird (US/EU)
Used only when an administrator selects SparkPost as the transactional email provider. During the connection preflight, Solviroa sends the configured SparkPost API key for authentication and the domain part of the configured sender email address to SparkPost’s Sending Domains API so the selected US or EU account can be checked. When WordPress submits a real email through the activated SparkPost connection, Solviroa sends the API key plus the message data required for delivery, which can include the sender, To/CC/BCC recipients, Reply-To, subject, headers, body and attachments, to SparkPost’s Transmissions API. Solviroa does not contact SparkPost unless the administrator has selected/configured SparkPost and runs a connection check or WordPress sends mail through that connection. SparkPost is now part of Bird.
- API endpoint used for US accounts:
https://api.sparkpost.com/api/v1 - API endpoint used for EU accounts:
https://api.eu.sparkpost.com/api/v1 - Service: SparkPost by Bird
- SparkPost Terms of Service: Terms of Service for SparkPost
- Current Bird Terms: Bird General Terms and Conditions
- Privacy: Bird Privacy Statement
Mailjet
Used only when Mailjet is selected. During preflight, Solviroa sends the configured API credentials plus a small sandbox payload built from the configured sender and Solviroa preflight text; Mailjet validates it in Sandbox Mode without delivering the message. During a real send, Solviroa sends the configured API credentials and the message data required for delivery to Send API v3.1.
- API endpoint domain used:
api.mailjet.com - Service: Mailjet
- Terms: Mailjet Terms
- Privacy: Mailjet Privacy Policy
Elastic Email
Used only when Elastic Email is selected. Solviroa sends the configured API key for API-key checks and sends message data to the transactional email endpoint when email is submitted.
- API endpoint domain used:
api.elasticemail.com - Service: Elastic Email
- Terms: Elastic Email Terms
- Privacy: Elastic Email Privacy Policy
Preset SMTP services
The following SMTP presets are optional. A network connection to the named SMTP service occurs only when the administrator selects/configures that provider and runs a connection test or when WordPress submits mail through the activated connection. The SMTP service receives the configured authentication data during authentication and receives the message envelope/content when a real message is sent. Simulation Mode stops the message before the provider is contacted.
- Hostinger Email — preset for
smtp.hostinger.com. Service · Terms · Privacy - Titan Email — preset for
smtp.titan.email. Service · Terms · Privacy - Gmail / Google Workspace SMTP — optional app-password SMTP path for
smtp.gmail.com; Google OAuth/Gmail API are documented separately above. Service · Terms · Privacy - Microsoft 365 / Outlook SMTP — optional compatibility SMTP path for
smtp.office365.com; Microsoft OAuth/Graph are documented separately above. Service · Terms · Privacy - Yahoo Mail SMTP — preset for
smtp.mail.yahoo.comusing an app password. Service · Terms · Privacy - iCloud Mail SMTP — preset for
smtp.mail.me.comusing an app-specific password. Service · Terms · Privacy - Zoho Mail SMTP — provider-specific SMTP details are supplied by the administrator because Zoho endpoints can vary by account/data centre. Service · Terms · Privacy
- Brevo SMTP Relay — preset for
smtp-relay.brevo.com. Service · Terms · Privacy - SendGrid SMTP — preset for
smtp.sendgrid.net. Service · Terms · Privacy - MailerSend SMTP — preset for
smtp.mailersend.net. Service · Terms · Privacy
User-configured SMTP services
When SMTP is selected, Solviroa connects only to the SMTP server configured or chosen by the administrator. This can include a hosting mailbox or services such as Hostinger, Titan, Gmail, Microsoft 365, Yahoo, iCloud, Zoho, Brevo SMTP, SendGrid SMTP, MailerSend SMTP or another SMTP service. The selected SMTP server receives the authentication data and message envelope/content necessary to deliver the message. The administrator chooses that server, so its own terms, privacy and retention policies apply.
DNS checks
MX, SPF, DKIM, DMARC and nameserver checks use PHP DNS functions and the DNS resolver configured by the website/server environment. They are read-only. Solviroa does not use a hard-coded third-party DNS API and never writes DNS records.
Remote assets and telemetry
Solviroa does not remotely load JavaScript, CSS, fonts, images, iframes or executable plugin code. It does not send analytics or telemetry to the developer. Provider API/OAuth requests described above are made only to provide the selected mail service.
Local privacy and storage
Connection settings and encrypted credentials are stored in WordPress options. Free mail history is stored in the site’s Solviroa table and may include status, category, recipient summary, subject, source, provider, transport, tracking/provider message identifiers, attachment count, retry/temporary flags, technical error details and timestamps. Solviroa Free does not store message bodies or attachment contents in its mail log.
Installation
- In WordPress, go to Plugins > Add New > Upload Plugin and upload the Solviroa ZIP file, or upload the
solviroafolder to/wp-content/plugins/. - Activate Solviroa.
- Open Solviroa in WordPress admin and follow the setup wizard.
- Select a connection method and enter the credentials supplied by that provider.
- Run the connection preflight and, if desired, send a test message to a mailbox you control.
- Complete the wizard to enable the WordPress mail route.
FAQ
-
Does a Health check send an email?
-
No. Health and deliverability checks are read-only and do not send a message.
-
Does an accepted message guarantee Inbox delivery?
-
No. Accepted means the configured provider accepted the submission. It does not prove that the recipient’s provider placed the message in the Inbox.
-
Can I test without delivering a real message?
-
Yes. Simulation Mode can exercise the mail flow without delivering a real email. Disable it again before using the normal mail route.
-
Is Solviroa Pro required?
-
No. Free works independently. Pro is a separate optional add-on for continuity and advanced routing/reporting features.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Solviroa – Email Setup & Deliverability” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Solviroa – Email Setup & Deliverability” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.2.4
- Localize previously saved MX server-count diagnostics when displayed, in both English and Spanish, without rescanning or changing DNS data.
- Keep native browser date fields, whose built-in picker labels follow the browser’s UI localization.
0.2.3
- Respect the administrator’s WordPress profile language on Solviroa admin pages and authenticated AJAX; fall back to the site language when the user has not selected a language.
- Preserve localized rendering of canonical and previously saved diagnostics without changing stored settings, SMTP connections or integrations.
0.2.2
- Fixed onboarding scan copy mixing languages: diagnostics are saved in canonical English and localized when displayed, including previously saved scans.
- Solviroa admin pages and authenticated AJAX messages now follow the site language regardless of administrator profile locale.
- No changes to email transport, credentials, connection settings or stored scan signals.
0.2.1
- Compliance: expanded the SparkPost/Bird external-service disclosure with explicit US/EU API endpoints, data sent during preflight and sending, and direct Terms and Privacy links.
0.2.0
- Fixed onboarding and admin actions that could stop before AJAX when isolated UI modules did not have access to the local translation helper.
- No mail transport, provider, settings, or data-storage behavior changed.
0.1.99
- Compliance: added translator comments for placeholder strings and simplified one JavaScript placeholder string.
- Compliance: removed the unnecessary explicit load_plugin_textdomain() call for WordPress.org-hosted translations.
0.1.98
- Documented the exact API endpoint domains used by every external service integration, including SparkPost US/EU, to make third-party network usage explicit for WordPress.org review.
0.1.96
- Fixed the local assistant translation helper scope so read-only assistant questions no longer fail with a JavaScript ReferenceError.
- Added an explicit description of Solviroa’s migration-first, diagnostic-first workflow for WordPress.org review clarity.
- Clarified the exact data sent by provider sandbox/test-mode preflight requests.
0.1.95
- Renamed the public plugin identity to Solviroa – Email Setup & Deliverability.
- Improved WordPress.org compliance for external-service disclosure, optional remote links and core-file loading.
- Clarified Solviroa’s guided migration, diagnostics and deliverability workflow.
0.1.94
- Improved Solviroa Pro assistant status answers for routing rules, alerts, incidents and continuity behavior.
0.1.93
- Initial WordPress.org release of Solviroa Free, including guided setup, provider connections, health and DNS checks, local assistant, Simulation Mode and mail history.







