Verified option record · updated 2026-08-25

wp_mail_smtp

Configuration

wp_mail_smtp is owned by WP Mail SMTP in the tested WP Mail SMTP 4.7–4.9 ConfigOps contract. It is a structured option with 67 exact mapped fields in adapter schema 3.

Tested owner
WP Mail SMTPTested ConfigOps adapter assignment
Version contract
WP Mail SMTP 4.7–4.9Adapter schema 3
Stored shape
Associative array with nested fields67 mapped fields
ConfigOps recovery
Conditional UndoCurrent-state check required

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

Associative array with nested fields.

Mapped paths67
Secret paths24
Field kinds3
Exact fields mapped by ConfigOps adapter schema 3
PathVisible meaningKindWhy it matters
/mail/from_emailSender emailMessage identityenvironmentThe address recipients see. It often differs by website or environment.
/mail/from_nameSender nameMessage identityportableThe name recipients see next to the sender address.
/mail/mailerDelivery methodConnectionenvironmentSelects PHP mail, SMTP, or a provider API.
/mail/return_pathMatch return pathMessage identityportableSends delivery failures back to the sender address.
/mail/from_email_forceUse this sender email everywhereMessage identityportablePrevents other plugins from replacing the sender email.
/mail/from_name_forceUse this sender name everywhereMessage identityportablePrevents other plugins from replacing the sender name.
/smtp/hostSMTP serverSMTP connectionenvironmentThe mail server hostname for this website.
/smtp/portSMTP portSMTP connectionenvironmentThe port used to connect to the mail server.
/smtp/encryptionConnection encryptionSMTP connectionportableThe TLS or SSL mode used by the connection.
/smtp/autotlsAutomatic TLSSMTP connectionportableLets the mail library enable TLS when the server supports it.
/smtp/authSMTP authenticationSMTP connectionportableControls whether the server requires a username and password.
/smtp/userSMTP usernameSMTP connectionenvironmentThe account name used for this website’s mail server.
/smtp/passSMTP passwordSMTP connectionsecretA credential. ConfigOps never stores its clear value.
/general/do_not_sendStop all outgoing emailDelivery policyenvironmentBlocks email sent through wp_mail() on this website, except WP Mail SMTP test messages.
/general/am_notifications_hiddenHide plugin announcementsAdmin experienceportableHides WP Mail SMTP announcements and update details.
/general/email_delivery_errors_hiddenHide delivery-error warningsAdmin experienceenvironmentHides admin warnings when this website cannot deliver email.
/general/dashboard_widget_hiddenHide dashboard widgetAdmin experienceportableHides the WP Mail SMTP dashboard widget.
/general/usage-tracking-enabledAllow usage trackingPrivacyenvironmentControls whether WP Mail SMTP sends usage telemetry from this website.
/general/summary_report_email_disabledDisable weekly email summariesReportsportableStops WP Mail SMTP from sending its weekly summary email.
/general/optimize_email_sending_enabledOptimize email sendingDelivery policyenvironmentQueues wp_mail() delivery asynchronously, which can delay messages.
/general/uninstallDelete WP Mail SMTP data on uninstallData lifecycleenvironmentRemoves the plugin’s settings and data when WP Mail SMTP is deleted.
/license/keyLicense keyLicensesecretA plugin credential. ConfigOps never stores its clear value.
/amazonses/client_idAccess key IDAmazon SES connectionsecretAn Amazon SES credential identifier. ConfigOps removes it together with the secret access key.
/amazonses/client_secretSecret access keyAmazon SES connectionsecretAn Amazon SES credential. ConfigOps never stores its clear value.
/amazonses/regionAWS regionAmazon SES connectionenvironmentThe AWS region that owns this website’s SES account and sending identity.
/elasticemail/api_keyAPI keyElastic Email connectionsecretAn Elastic Email credential. ConfigOps never stores its clear value.
/gmail/one_click_setup_enabledOne-Click SetupGmail connectionenvironmentSelects the OAuth connection flow used by this website.
/gmail/client_idGoogle client IDGmail connectionenvironmentIdentifies the Google OAuth application used by this website.
/gmail/client_secretGoogle client secretGmail connectionsecretA Google OAuth credential. ConfigOps never stores its clear value.
/mailersend/api_keyAPI tokenMailerSend connectionsecretA MailerSend credential. ConfigOps never stores its clear value.
/mailersend/has_pro_planPaid MailerSend planMailerSend connectionenvironmentRecords which account plan controls this connection’s available sending features.
/mailgun/api_keyPrivate API keyMailgun connectionsecretA Mailgun credential. ConfigOps never stores its clear value.
/mailgun/domainSending domainMailgun connectionenvironmentThe Mailgun domain authorized to send mail for this website.
/mailgun/regionMailgun regionMailgun connectionenvironmentSelects the US or EU Mailgun API endpoint for this account.
/mailjet/api_keyAPI keyMailjet connectionsecretA Mailjet credential. ConfigOps never stores its clear value.
/mailjet/secret_keySecret keyMailjet connectionsecretA Mailjet credential. ConfigOps never stores its clear value.
/mandrill/api_keyAPI keyMandrill connectionsecretA Mandrill credential. ConfigOps never stores its clear value.
/outlook/one_click_setup_enabledOne-Click SetupMicrosoft 365 / Outlook connectionenvironmentSelects the Microsoft OAuth connection flow used by this website.
/outlook/client_idApplication IDMicrosoft 365 / Outlook connectionenvironmentIdentifies the Microsoft OAuth application used by this website.
/outlook/client_secretApplication passwordMicrosoft 365 / Outlook connectionsecretA Microsoft OAuth credential. ConfigOps never stores its clear value.
/pepipost/hostSMTP serverPepipost SMTP connectionenvironmentThe Pepipost SMTP hostname used by this website.
/pepipost/portSMTP portPepipost SMTP connectionenvironmentThe port used for this Pepipost SMTP connection.
/pepipost/encryptionConnection encryptionPepipost SMTP connectionportableThe TLS or SSL mode used by Pepipost SMTP.
/pepipost/authSMTP authenticationPepipost SMTP connectionportableControls whether Pepipost SMTP requires credentials.
/pepipost/userSMTP usernamePepipost SMTP connectionenvironmentThe account name used by this website’s Pepipost SMTP connection.
/pepipost/passSMTP passwordPepipost SMTP connectionsecretA Pepipost credential. ConfigOps never stores its clear value.
/pepipostapi/api_keyAPI keyPepipost API connectionsecretA Pepipost credential. ConfigOps never stores its clear value.
/postmark/server_api_tokenServer API tokenPostmark connectionsecretA Postmark credential. ConfigOps never stores its clear value.
/postmark/message_streamMessage streamPostmark connectionenvironmentThe Postmark stream that receives mail from this website.
/resend/api_keyAPI keyResend connectionsecretA Resend credential. ConfigOps never stores its clear value.
/sendgrid/api_keyAPI keySendGrid connectionsecretA SendGrid credential. ConfigOps never stores its clear value.
/sendgrid/domainSending domainSendGrid connectionenvironmentThe SendGrid domain authorized to send mail for this website.
/sendinblue/api_keyAPI keyBrevo connectionsecretA Brevo credential. ConfigOps never stores its clear value.
/sendinblue/domainSending domainBrevo connectionenvironmentThe Brevo domain authorized to send mail for this website.
/sendlayer/api_keyAPI keySendLayer connectionsecretA SendLayer credential. ConfigOps never stores its clear value.
/sendlayer/quick_connectQuick ConnectSendLayer connectionenvironmentRecords that this website uses SendLayer’s account connection flow.
/sendlayer/is_shared_domainShared sending domainSendLayer connectionenvironmentRecords whether SendLayer assigned this website a shared sending domain.
/sendlayer/sender_domainSending domainSendLayer connectionenvironmentThe SendLayer domain used in this website’s sender address.
/sendlayer/free_upgrade_urlAccount upgrade linkSendLayer connectionsecretA signed account-specific URL. ConfigOps removes it before storage.
/smtp2go/api_keyAPI keySMTP2GO connectionsecretAn SMTP2GO credential. ConfigOps never stores its clear value.
/smtpcom/api_keyAPI keySMTP.com connectionsecretAn SMTP.com credential. ConfigOps never stores its clear value.
/smtpcom/channelSender channelSMTP.com connectionenvironmentThe SMTP.com channel assigned to mail from this website.
/sparkpost/api_keyAPI keySparkPost connectionsecretA SparkPost credential. ConfigOps never stores its clear value.
/sparkpost/regionSparkPost regionSparkPost connectionenvironmentSelects the US or EU SparkPost API endpoint for this account.
/zoho/domainZoho data centerZoho Mail connectionenvironmentSelects the Zoho account domain and regional API endpoint.
/zoho/client_idZoho client IDZoho Mail connectionenvironmentIdentifies the Zoho OAuth application used by this website.
/zoho/client_secretZoho client secretZoho Mail connectionsecretA Zoho OAuth credential. ConfigOps never stores its clear value.

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_activated

Known 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_time

Known 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_redirect

Known 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_version

Known 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_source

Known 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_debug

Known 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_debug

Known 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_notice

Known 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_connect

Known 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_week

Known 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_version

Known 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

Adapter-backed, not Smart Undo.

ConfigOps adapterYes · wp-mail-smtp

Schema 3; tested against WP Mail SMTP 4.7–4.9.

Adapter-aware UndoConditionally supported

Supported non-secret fields can use adapter-aware, conflict-checked Undo. Redacted secrets are never reconstructed.

Smart Undo eligibilityNo

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.

Inspect without writing.

Run these on the intended environment. The commands read current state; they do not reconstruct history.

Read the current value
wp option get wp_mail_smtp --format=json
Inspect matching storage and autoload metadata
wp option list --search=wp_mail_smtp --fields=option_name,autoload --format=table
List top-level keys without changing the value
wp 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.

2 option-specific proofs.

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.

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.