{"id":288101,"date":"2026-03-13T10:17:48","date_gmt":"2026-03-13T10:17:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mesh-smtp\/"},"modified":"2026-08-17T04:28:24","modified_gmt":"2026-08-17T04:28:24","slug":"mesh-smtp","status":"publish","type":"plugin","link":"https:\/\/sv.wordpress.org\/plugins\/mesh-smtp\/","author":23271115,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"1.5.0","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Mesh SMTP","header_author":"Mesh Creation","header_description":"Lightweight, secure SMTP configuration with provider presets, test mail support, and a modern admin UI.","assets_banners_color":"426bbb","last_updated":"2026-08-17 04:28:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/meshcreation.com\/plugins\/mesh-smtp","header_author_uri":"https:\/\/meshcreation.com","rating":5,"author_block_rating":0,"active_installs":40,"downloads":696,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.2":{"tag":"1.2.2","author":"meshcrea","date":"2026-03-13 10:20:30"},"1.2.4":{"tag":"1.2.4","author":"meshcrea","date":"2026-03-14 10:08:38"},"1.4.0":{"tag":"1.4.0","author":"meshcrea","date":"2026-03-20 13:15:17"},"1.5.0":{"tag":"1.5.0","author":"meshcrea","date":"2026-08-17 04:28:24"}},"upgrade_notice":{"1.5.0":"<p>Recommended update for a simpler three-step setup, accurate test status, privacy-first logging, safer diagnostics, accessibility improvements, and WordPress 7.0 compatibility.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3482108,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3482108,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3482108,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3482108,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.2","1.2.4","1.4.0","1.5.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3487203,"resolution":"1","location":"assets","locale":"","width":2296,"height":1396},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3487203,"resolution":"2","location":"assets","locale":"","width":2244,"height":1210},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3487203,"resolution":"3","location":"assets","locale":"","width":2238,"height":1024},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3487203,"resolution":"4","location":"assets","locale":"","width":2198,"height":1156},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3487203,"resolution":"5","location":"assets","locale":"","width":2170,"height":1418},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3487203,"resolution":"6","location":"assets","locale":"","width":2260,"height":1372},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3487203,"resolution":"7","location":"assets","locale":"","width":2268,"height":1398},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3487203,"resolution":"8","location":"assets","locale":"","width":1096,"height":1278}},"screenshots":{"1":"Mesh SMTP dashboard with clear section navigation and current status","2":"Step 1 provider cards and automatic provider detection","3":"Step 2 SMTP connection, authentication, sender, and password controls","4":"Step 3 test email with Accepted and inbox confirmation states","5":"Privacy-first email logging preferences and recent activity","6":"Masked support summary and safe import\/export tools","7":"Provider guidance and wp-config.php constants"}},"plugin_section":[],"plugin_tags":[48588,6696,48586,25906,41812],"plugin_category":[41],"plugin_contributors":[257654],"plugin_business_model":[],"class_list":["post-288101","plugin","type-plugin","status-publish","hentry","plugin_tags-email-deliverability","plugin_tags-smtp","plugin_tags-transactional-email","plugin_tags-wordpress-smtp","plugin_tags-wp-mail","plugin_category-communication","plugin_contributors-meshcrea","plugin_committers-meshcrea"],"banners":{"banner":"https:\/\/ps.w.org\/mesh-smtp\/assets\/banner-772x250.png?rev=3482108","banner_2x":"https:\/\/ps.w.org\/mesh-smtp\/assets\/banner-1544x500.png?rev=3482108","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/mesh-smtp\/assets\/icon-128x128.png?rev=3482108","icon_2x":"https:\/\/ps.w.org\/mesh-smtp\/assets\/icon-256x256.png?rev=3482108","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/mesh-smtp\/assets\/screenshot-1.png?rev=3487203","caption":"Mesh SMTP dashboard with clear section navigation and current status"},{"src":"https:\/\/ps.w.org\/mesh-smtp\/assets\/screenshot-2.png?rev=3487203","caption":"Step 1 provider cards and automatic provider detection"},{"src":"https:\/\/ps.w.org\/mesh-smtp\/assets\/screenshot-3.png?rev=3487203","caption":"Step 2 SMTP connection, authentication, sender, and password controls"},{"src":"https:\/\/ps.w.org\/mesh-smtp\/assets\/screenshot-4.png?rev=3487203","caption":"Step 3 test email with Accepted and inbox confirmation states"},{"src":"https:\/\/ps.w.org\/mesh-smtp\/assets\/screenshot-5.png?rev=3487203","caption":"Privacy-first email logging preferences and recent activity"},{"src":"https:\/\/ps.w.org\/mesh-smtp\/assets\/screenshot-6.png?rev=3487203","caption":"Masked support summary and safe import\/export tools"},{"src":"https:\/\/ps.w.org\/mesh-smtp\/assets\/screenshot-7.png?rev=3487203","caption":"Provider guidance and wp-config.php constants"},{"src":"https:\/\/ps.w.org\/mesh-smtp\/assets\/screenshot-8.png?rev=3487203","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Mesh SMTP<\/strong> is a lightweight WordPress SMTP plugin for website owners who want a clear way to configure outgoing email without a crowded dashboard.<\/p>\n\n<p>Connect WordPress to Gmail, Google Workspace, Microsoft 365, Zoho Mail, Hostinger Email, SendGrid, Mailgun, or any custom SMTP server. The guided setup explains each field in plain language and separates mailer acceptance from real inbox delivery.<\/p>\n\n<p>Mesh SMTP works with email sent through WordPress <code>wp_mail()<\/code>, which commonly includes:<\/p>\n\n<ul>\n<li>Contact form notifications<\/li>\n<li>Password reset emails<\/li>\n<li>New user and administrator notifications<\/li>\n<li>WooCommerce transactional emails<\/li>\n<li>WordPress update and security notifications<\/li>\n<li>Messages sent by compatible themes and plugins<\/li>\n<\/ul>\n\n<h4>Easy 3-Step WordPress SMTP Setup<\/h4>\n\n<ol>\n<li><strong>Choose your email provider<\/strong> from simple provider cards.<\/li>\n<li><strong>Enter the SMTP connection details<\/strong> with clear host, security, port, authentication, username, password, and sender guidance.<\/li>\n<li><strong>Send and confirm a test email<\/strong> so the dashboard does not claim delivery before you verify the inbox.<\/li>\n<\/ol>\n\n<h4>Main Features<\/h4>\n\n<ul>\n<li>Simple three-step SMTP setup wizard<\/li>\n<li>Provider presets for Gmail, Microsoft 365, Zoho, Hostinger, SendGrid, and Mailgun<\/li>\n<li>Custom SMTP support with optional authentication for trusted relays<\/li>\n<li>Test email flow with honest <strong>Accepted<\/strong>, <strong>Received and Confirmed<\/strong>, <strong>Failed<\/strong>, and <strong>Retest Required<\/strong> states<\/li>\n<li>Automatic test invalidation when SMTP settings change<\/li>\n<li>Clear SMTP host, TLS\/SSL, port, authentication, username, password, From Email, and From Name fields<\/li>\n<li>Recommended port guidance without overwriting a custom port<\/li>\n<li>Saved password indicator with a dedicated Remove Saved Password action<\/li>\n<li>Warning when another common SMTP plugin appears active<\/li>\n<li>Microsoft 365 warning when OAuth or tenant SMTP AUTH policy may be required<\/li>\n<li>Privacy-first email logging: Off, failures only, or all mailer results<\/li>\n<li>Optional masked, hidden, or full recipient storage<\/li>\n<li>Optional subject logging and 7, 14, or 30-day retention<\/li>\n<li>Clear Logs and Clear Last Failure actions<\/li>\n<li>Masked support summary by default, with an explicit option to include personal details<\/li>\n<li>Safe JSON settings export and import without exporting the SMTP password<\/li>\n<li><code>wp-config.php<\/code> constants for deployment-managed SMTP credentials<\/li>\n<li>WordPress Site Health integration<\/li>\n<li>Accessible provider cards, wizard steps, live status messages, and password controls<\/li>\n<li>Admin assets load only on the Mesh SMTP screen<\/li>\n<li>Capability checks, nonces, sanitization, and escaped output<\/li>\n<\/ul>\n\n<h4>Honest Test Email Results<\/h4>\n\n<p>A successful <code>wp_mail()<\/code> response means WordPress and PHPMailer accepted the sending request without returning an error. It does not prove that the message reached the Inbox.<\/p>\n\n<p>Mesh SMTP therefore uses a two-part verification flow:<\/p>\n\n<ul>\n<li><strong>Accepted by mailer<\/strong> \u2014 WordPress returned no sending error.<\/li>\n<li><strong>Received and confirmed<\/strong> \u2014 an administrator checked the Inbox or Spam folder and confirmed receipt.<\/li>\n<\/ul>\n\n<p>This avoids a misleading \u201cdelivered\u201d message when the receiving mail server may still delay, filter, or reject the email.<\/p>\n\n<h4>Privacy-First Email Logs<\/h4>\n\n<p>Email logging is configurable. The recommended default stores failed emails only, masks recipient addresses, hides subject lines, and removes old entries after 14 days.<\/p>\n\n<p>Mesh SMTP never stores email bodies or attachments in its activity log.<\/p>\n\n<h4>Supported Provider Presets<\/h4>\n\n<ul>\n<li>Gmail and Google Workspace<\/li>\n<li>Outlook and Microsoft 365<\/li>\n<li>Zoho Mail<\/li>\n<li>Hostinger Email<\/li>\n<li>SendGrid<\/li>\n<li>Mailgun<\/li>\n<li>Custom SMTP<\/li>\n<\/ul>\n\n<h4>Microsoft 365 Note<\/h4>\n\n<p>Some Microsoft 365 tenants do not allow username\/password SMTP. OAuth 2.0 or an administrator-enabled SMTP AUTH policy may be required. Mesh SMTP currently supports standard SMTP credentials and displays a warning when the Microsoft preset is detected.<\/p>\n\n<h4>Secure wp-config.php Constants<\/h4>\n\n<p>Developers can define these constants in <code>wp-config.php<\/code> to override values saved in WordPress:<\/p>\n\n<pre><code>MESHSMTP_ENABLED\nMESHSMTP_HOST\nMESHSMTP_PORT\nMESHSMTP_SECURE\nMESHSMTP_AUTH\nMESHSMTP_USERNAME\nMESHSMTP_PASSWORD\nMESHSMTP_FROM_EMAIL\nMESHSMTP_FROM_NAME\n<\/code><\/pre>\n\n<p>The SMTP password is never shown back in the admin interface.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install <strong>Mesh SMTP<\/strong> from <strong>Plugins &gt; Add New<\/strong>, or upload the <code>mesh-smtp<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Mesh SMTP<\/strong> in the WordPress admin menu.<\/li>\n<li>Choose your email provider.<\/li>\n<li>Enter and save the SMTP connection and sender details.<\/li>\n<li>Send a test email to an inbox you can check.<\/li>\n<li>Check Inbox and Spam, then select <strong>Yes, I Received It<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20does%20mesh%20smtp%20do%3F\"><h3>What does Mesh SMTP do?<\/h3><\/dt>\n<dd><p>Mesh SMTP routes compatible WordPress email through the SMTP server you configure instead of relying only on the default server mail function.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20contact%20forms%20and%20woocommerce%3F\"><h3>Will it work with contact forms and WooCommerce?<\/h3><\/dt>\n<dd><p>It works with messages sent through WordPress <code>wp_mail()<\/code>. Many contact form plugins, WooCommerce emails, password resets, user notifications, and administrator alerts use this function.<\/p><\/dd>\n<dt id=\"does%20%E2%80%9Caccepted%20by%20mailer%E2%80%9D%20mean%20the%20email%20was%20delivered%3F\"><h3>Does \u201cAccepted by mailer\u201d mean the email was delivered?<\/h3><\/dt>\n<dd><p>No. It means WordPress and PHPMailer returned no sending error. Check the recipient Inbox and Spam folder, then confirm receipt in Mesh SMTP.<\/p><\/dd>\n<dt id=\"does%20mesh%20smtp%20store%20email%20content%3F\"><h3>Does Mesh SMTP store email content?<\/h3><\/dt>\n<dd><p>No. It does not store email bodies or attachments. Logging can be turned off, limited to failures, or enabled for all mailer results. Recipient and subject storage are separately configurable.<\/p><\/dd>\n<dt id=\"is%20my%20smtp%20password%20exported%3F\"><h3>Is my SMTP password exported?<\/h3><\/dt>\n<dd><p>No. JSON exports intentionally exclude the password. The destination site keeps its current password or requires you to enter one manually.<\/p><\/dd>\n<dt id=\"can%20i%20remove%20a%20saved%20smtp%20password%3F\"><h3>Can I remove a saved SMTP password?<\/h3><\/dt>\n<dd><p>Yes. Use <strong>Remove Saved Password<\/strong> beside the password field. When <code>MESHSMTP_PASSWORD<\/code> is defined in <code>wp-config.php<\/code>, remove or change it there instead.<\/p><\/dd>\n<dt id=\"can%20i%20use%20an%20smtp%20server%20without%20authentication%3F\"><h3>Can I use an SMTP server without authentication?<\/h3><\/dt>\n<dd><p>Yes. Turn off SMTP Authentication only when a trusted local or internal relay explicitly permits unauthenticated SMTP. Most public email providers require authentication.<\/p><\/dd>\n<dt id=\"can%20i%20keep%20smtp%20credentials%20in%20wp-config.php%3F\"><h3>Can I keep SMTP credentials in wp-config.php?<\/h3><\/dt>\n<dd><p>Yes. Mesh SMTP supports constants for the enabled state, host, port, security, authentication, username, password, sender email, and sender name.<\/p><\/dd>\n<dt id=\"does%20mesh%20smtp%20support%20gmail%20oauth%20or%20microsoft%20oauth%3F\"><h3>Does Mesh SMTP support Gmail OAuth or Microsoft OAuth?<\/h3><\/dt>\n<dd><p>Not currently. Gmail can often use an App Password. Microsoft 365 may require OAuth 2.0 or a tenant policy that permits SMTP AUTH.<\/p><\/dd>\n<dt id=\"can%20i%20use%20two%20smtp%20plugins%20together%3F\"><h3>Can I use two SMTP plugins together?<\/h3><\/dt>\n<dd><p>No. Two plugins trying to configure PHPMailer can produce unpredictable results. Mesh SMTP warns when it detects another common active SMTP plugin.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20change%20smtp%20settings%3F\"><h3>What happens when I change SMTP settings?<\/h3><\/dt>\n<dd><p>The previous test result becomes <strong>Retest Required<\/strong>. Send a new test because the old result no longer represents the current configuration.<\/p><\/dd>\n<dt id=\"does%20uninstall%20remove%20plugin%20data%3F\"><h3>Does uninstall remove plugin data?<\/h3><\/dt>\n<dd><p>Yes. Uninstall cleanup removes Mesh SMTP settings, tests, logs, failures, migration data, and plugin transients. Multisite cleanup covers each site when the plugin is deleted from the network.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Replaced the four-step wizard with a clearer three-step setup flow<\/li>\n<li>Removed the duplicate provider dropdown and kept accessible provider cards<\/li>\n<li>Added confirmation before a provider preset replaces existing connection values<\/li>\n<li>Stopped changing custom ports automatically when security changes<\/li>\n<li>Added recommended-port guidance with an explicit Use button<\/li>\n<li>Added optional SMTP authentication for trusted unauthenticated relays<\/li>\n<li>Added a dedicated Remove Saved Password action<\/li>\n<li>Added configuration fingerprints so settings changes invalidate old test results<\/li>\n<li>Replaced misleading success\/delivery wording with Accepted, Confirmed, Failed, and Retest Required states<\/li>\n<li>Added administrator inbox confirmation after an accepted test email<\/li>\n<li>Added privacy-first logging modes, recipient masking, optional subject storage, and retention controls<\/li>\n<li>Added Clear Logs and Clear Last Failure actions<\/li>\n<li>Masked email addresses, SMTP host, subject, and raw errors in support summaries by default<\/li>\n<li>Added an explicit option to include personal diagnostic details<\/li>\n<li>Added warnings for another active SMTP plugin and Microsoft 365 authentication limitations<\/li>\n<li>Added WordPress Site Health integration<\/li>\n<li>Improved JavaScript localization, keyboard focus, ARIA states, and live announcements<\/li>\n<li>Added multisite-aware uninstall cleanup<\/li>\n<li>Refactored core settings, logging, mailer, provider, action, and view code into smaller files<\/li>\n<li>Improved WordPress.org title, short description, features, FAQs, provider keywords, and screenshot descriptions<\/li>\n<li>Updated compatibility metadata and completed static compatibility checks for WordPress 7.0<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added a four-step setup wizard<\/li>\n<li>Added safe settings export and import<\/li>\n<li>Added provider guidance and a configuration status snapshot<\/li>\n<li>Improved the admin interface and sender guidance<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added recent email activity, last failure details, wp-config overrides, and a support summary<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Added provider auto-detection and preserved settings when SMTP was disabled<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Rebranded the plugin as Mesh SMTP and added uninstall cleanup<\/li>\n<\/ul>","raw_excerpt":"Send WordPress email through SMTP with a simple 3-step setup, test email confirmation, privacy-first logs, provider presets, and safe diagnostics.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/288101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=288101"}],"author":[{"embeddable":true,"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/meshcrea"}],"wp:attachment":[{"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=288101"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=288101"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=288101"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=288101"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=288101"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=288101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}