01 · Ownership
Who writes wp_mail_smtp?
WP Mail SMTP is the tested owner for wp_mail_smtp under the WP Mail SMTP 4.7–4.9 ConfigOps adapter contract. This is a source-backed adapter claim, not a guess based on naming.
- Component type
- WordPress plugin
- Component entry point
wp-mail-smtp/wp_mail_smtp.php- Adapter ID
wp-mail-smtp- Adapter schema
- 3
- Visible setting
- WP Mail SMTP → Settings → General, Mailer and Misc settings
- Classification
- Configuration
02 · Stored value
Associative array with nested fields.
| Path | Visible meaning | Kind | Why it matters |
|---|---|---|---|
/mail/from_email | Sender emailMessage identity | environment | The address recipients see. It often differs by website or environment. |
/mail/from_name | Sender nameMessage identity | portable | The name recipients see next to the sender address. |
/mail/mailer | Delivery methodConnection | environment | Selects PHP mail, SMTP, or a provider API. |
/mail/return_path | Match return pathMessage identity | portable | Sends delivery failures back to the sender address. |
/mail/from_email_force | Use this sender email everywhereMessage identity | portable | Prevents other plugins from replacing the sender email. |
/mail/from_name_force | Use this sender name everywhereMessage identity | portable | Prevents other plugins from replacing the sender name. |
/smtp/host | SMTP serverSMTP connection | environment | The mail server hostname for this website. |
/smtp/port | SMTP portSMTP connection | environment | The port used to connect to the mail server. |
/smtp/encryption | Connection encryptionSMTP connection | portable | The TLS or SSL mode used by the connection. |
/smtp/autotls | Automatic TLSSMTP connection | portable | Lets the mail library enable TLS when the server supports it. |
/smtp/auth | SMTP authenticationSMTP connection | portable | Controls whether the server requires a username and password. |
/smtp/user | SMTP usernameSMTP connection | environment | The account name used for this website’s mail server. |
/smtp/pass | SMTP passwordSMTP connection | secret | A credential. ConfigOps never stores its clear value. |
/general/do_not_send | Stop all outgoing emailDelivery policy | environment | Blocks email sent through wp_mail() on this website, except WP Mail SMTP test messages. |
/general/am_notifications_hidden | Hide plugin announcementsAdmin experience | portable | Hides WP Mail SMTP announcements and update details. |
/general/email_delivery_errors_hidden | Hide delivery-error warningsAdmin experience | environment | Hides admin warnings when this website cannot deliver email. |
/general/dashboard_widget_hidden | Hide dashboard widgetAdmin experience | portable | Hides the WP Mail SMTP dashboard widget. |
/general/usage-tracking-enabled | Allow usage trackingPrivacy | environment | Controls whether WP Mail SMTP sends usage telemetry from this website. |
/general/summary_report_email_disabled | Disable weekly email summariesReports | portable | Stops WP Mail SMTP from sending its weekly summary email. |
/general/optimize_email_sending_enabled | Optimize email sendingDelivery policy | environment | Queues wp_mail() delivery asynchronously, which can delay messages. |
/general/uninstall | Delete WP Mail SMTP data on uninstallData lifecycle | environment | Removes the plugin’s settings and data when WP Mail SMTP is deleted. |
/license/key | License keyLicense | secret | A plugin credential. ConfigOps never stores its clear value. |
/amazonses/client_id | Access key IDAmazon SES connection | secret | An Amazon SES credential identifier. ConfigOps removes it together with the secret access key. |
/amazonses/client_secret | Secret access keyAmazon SES connection | secret | An Amazon SES credential. ConfigOps never stores its clear value. |
/amazonses/region | AWS regionAmazon SES connection | environment | The AWS region that owns this website’s SES account and sending identity. |
/elasticemail/api_key | API keyElastic Email connection | secret | An Elastic Email credential. ConfigOps never stores its clear value. |
/gmail/one_click_setup_enabled | One-Click SetupGmail connection | environment | Selects the OAuth connection flow used by this website. |
/gmail/client_id | Google client IDGmail connection | environment | Identifies the Google OAuth application used by this website. |
/gmail/client_secret | Google client secretGmail connection | secret | A Google OAuth credential. ConfigOps never stores its clear value. |
/mailersend/api_key | API tokenMailerSend connection | secret | A MailerSend credential. ConfigOps never stores its clear value. |
/mailersend/has_pro_plan | Paid MailerSend planMailerSend connection | environment | Records which account plan controls this connection’s available sending features. |
/mailgun/api_key | Private API keyMailgun connection | secret | A Mailgun credential. ConfigOps never stores its clear value. |
/mailgun/domain | Sending domainMailgun connection | environment | The Mailgun domain authorized to send mail for this website. |
/mailgun/region | Mailgun regionMailgun connection | environment | Selects the US or EU Mailgun API endpoint for this account. |
/mailjet/api_key | API keyMailjet connection | secret | A Mailjet credential. ConfigOps never stores its clear value. |
/mailjet/secret_key | Secret keyMailjet connection | secret | A Mailjet credential. ConfigOps never stores its clear value. |
/mandrill/api_key | API keyMandrill connection | secret | A Mandrill credential. ConfigOps never stores its clear value. |
/outlook/one_click_setup_enabled | One-Click SetupMicrosoft 365 / Outlook connection | environment | Selects the Microsoft OAuth connection flow used by this website. |
/outlook/client_id | Application IDMicrosoft 365 / Outlook connection | environment | Identifies the Microsoft OAuth application used by this website. |
/outlook/client_secret | Application passwordMicrosoft 365 / Outlook connection | secret | A Microsoft OAuth credential. ConfigOps never stores its clear value. |
/pepipost/host | SMTP serverPepipost SMTP connection | environment | The Pepipost SMTP hostname used by this website. |
/pepipost/port | SMTP portPepipost SMTP connection | environment | The port used for this Pepipost SMTP connection. |
/pepipost/encryption | Connection encryptionPepipost SMTP connection | portable | The TLS or SSL mode used by Pepipost SMTP. |
/pepipost/auth | SMTP authenticationPepipost SMTP connection | portable | Controls whether Pepipost SMTP requires credentials. |
/pepipost/user | SMTP usernamePepipost SMTP connection | environment | The account name used by this website’s Pepipost SMTP connection. |
/pepipost/pass | SMTP passwordPepipost SMTP connection | secret | A Pepipost credential. ConfigOps never stores its clear value. |
/pepipostapi/api_key | API keyPepipost API connection | secret | A Pepipost credential. ConfigOps never stores its clear value. |
/postmark/server_api_token | Server API tokenPostmark connection | secret | A Postmark credential. ConfigOps never stores its clear value. |
/postmark/message_stream | Message streamPostmark connection | environment | The Postmark stream that receives mail from this website. |
/resend/api_key | API keyResend connection | secret | A Resend credential. ConfigOps never stores its clear value. |
/sendgrid/api_key | API keySendGrid connection | secret | A SendGrid credential. ConfigOps never stores its clear value. |
/sendgrid/domain | Sending domainSendGrid connection | environment | The SendGrid domain authorized to send mail for this website. |
/sendinblue/api_key | API keyBrevo connection | secret | A Brevo credential. ConfigOps never stores its clear value. |
/sendinblue/domain | Sending domainBrevo connection | environment | The Brevo domain authorized to send mail for this website. |
/sendlayer/api_key | API keySendLayer connection | secret | A SendLayer credential. ConfigOps never stores its clear value. |
/sendlayer/quick_connect | Quick ConnectSendLayer connection | environment | Records that this website uses SendLayer’s account connection flow. |
/sendlayer/is_shared_domain | Shared sending domainSendLayer connection | environment | Records whether SendLayer assigned this website a shared sending domain. |
/sendlayer/sender_domain | Sending domainSendLayer connection | environment | The SendLayer domain used in this website’s sender address. |
/sendlayer/free_upgrade_url | Account upgrade linkSendLayer connection | secret | A signed account-specific URL. ConfigOps removes it before storage. |
/smtp2go/api_key | API keySMTP2GO connection | secret | An SMTP2GO credential. ConfigOps never stores its clear value. |
/smtpcom/api_key | API keySMTP.com connection | secret | An SMTP.com credential. ConfigOps never stores its clear value. |
/smtpcom/channel | Sender channelSMTP.com connection | environment | The SMTP.com channel assigned to mail from this website. |
/sparkpost/api_key | API keySparkPost connection | secret | A SparkPost credential. ConfigOps never stores its clear value. |
/sparkpost/region | SparkPost regionSparkPost connection | environment | Selects the US or EU SparkPost API endpoint for this account. |
/zoho/domain | Zoho data centerZoho Mail connection | environment | Selects the Zoho account domain and regional API endpoint. |
/zoho/client_id | Zoho client IDZoho Mail connection | environment | Identifies the Zoho OAuth application used by this website. |
/zoho/client_secret | Zoho client secretZoho Mail connection | secret | A Zoho OAuth credential. ConfigOps never stores its clear value. |
03 · Technical state & secrets
What belongs beside the setting—but not inside the decision?
Activation, version, debug, migration, counter, notice, scheduler, and provider-usage state is separated from intended mail configuration.
wp_mail_smtp_activatedKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_activated_timeKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_activation_prevent_redirectKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_initial_versionKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_sourceKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_debugKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_email_sending_debugKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_review_noticeKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_sendlayer_quick_connectKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_summary_report_email_last_sent_weekKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
wp_mail_smtp_versionKnown WP Mail SMTP runtime state in the same adapter contract. It is separated from intended configuration and is not asserted to change on every save.
Known secret paths
/smtp/pass/license/key/amazonses/client_id/amazonses/client_secret/elasticemail/api_key/gmail/client_secret/mailersend/api_key/mailgun/api_key/mailjet/api_key/mailjet/secret_key/mandrill/api_key/outlook/client_secret/pepipost/pass/pepipostapi/api_key/postmark/server_api_token/resend/api_key/sendgrid/api_key/sendinblue/api_key/sendlayer/api_key/sendlayer/free_upgrade_url/smtp2go/api_key/smtpcom/api_key/sparkpost/api_key/zoho/client_secret
04 · ConfigOps recovery
Adapter-backed, not Smart Undo.
wp-mail-smtpSchema 3; tested against WP Mail SMTP 4.7–4.9.
Supported non-secret fields can use adapter-aware, conflict-checked Undo. Redacted secrets are never reconstructed.
No. Smart Undo is only for ordinary associative options that no adapter claims. This option is adapter-owned.
History boundary: ConfigOps records only saves it observes while active. It cannot tell you what changed this row before installation.
05 · WP-CLI read commands
Inspect without writing.
Run these on the intended environment. The commands read current state; they do not reconstruct history.
wp option get wp_mail_smtp --format=jsonwp option list --search=wp_mail_smtp --fields=option_name,autoload --format=tablewp eval 'print_r( array_keys( (array) get_option( "wp_mail_smtp", array() ) ) );'This option contains declared secret paths. Terminal output, scrollback, CI logs, and support transcripts can expose the current value. Prefer ConfigOps’ redacted evidence for incident review.
06 · Save autopsies
2 option-specific proofs.
The exact 4.9.0 browser flow changes sender and SMTP fields, verifies password redaction, reviews seven restorable fields, undoes them, and checks the plugin UI again.
tests/adapters-user-flow.mjs:L114integrationExact-release integration contractThe official plugin settings API is captured with adapter ID, schema version, installed version, classification, and restore eligibility assertions.
tests/adapters-integration.php:L24807 · Direct answers
Questions developers ask mid-incident.
What plugin writes wp_mail_smtp?
WP Mail SMTP is the tested owner in the ConfigOps WP Mail SMTP 4.7–4.9 adapter contract. The assignment is verified, not inferred from the option prefix.
What is stored in the wp_mail_smtp WordPress option?
Associative array with nested fields. wp_mail_smtp contains 67 mapped fields in this adapter schema, including 24 secret paths that ConfigOps redacts.
Can ConfigOps track and undo changes to wp_mail_smtp?
ConfigOps can attribute and record supported Options API writes while active. Supported non-secret fields can use adapter-aware, conflict-checked Undo. Redacted secrets are never reconstructed. No. Smart Undo is only for ordinary associative options that no adapter claims. This option is adapter-owned.
Does WordPress keep a history of wp_mail_smtp?
WordPress normally exposes the current option value, not a universal before-and-after history. ConfigOps must observe the original save to create local evidence; it cannot reconstruct older changes retroactively.
08 · Provenance
Why this page exists.
This record was generated from pinned ConfigOps source commit e319f502ff677bd76e53b7034650f9ee2afead72. The exact option name passed the publication allowlist; arbitrary searches do not.