Self-hosted. Privacy-first. Fully yours. Tempmails turns your WordPress site into a self-hosted temporary email service . Visitors generate a random disposable email address, receive messages in a real-time inbox, and discard them when done — all without leaving your site. Unlike third-party service
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.8 and PHP 7.4.
SourceWordPress plugins · Oct 26, 2026
01 / Source details
Aboutthistool.
Self-hosted. Privacy-first. Fully yours.
Tempmails turns your WordPress site into a self-hosted temporary email service . Visitors generate a random disposable email address, receive messages in a real-time inbox, and discard them when done — all without leaving your site.
Unlike third-party services, Tempmails runs entirely on your own server and IMAP mailbox . You own the data, the domain, and the brand.
🔒 No third-party email APIs 📬 Real IMAP inbox — not a simulation 🎨 Material Design 3 UI — beautiful out of the box ⚡ AJAX-powered — no page reloads
🚀 Quick Links
Everything you need to get started, get help, and stay connected:
🌐 Official Website — tempmails.cv — docs, roadmap, and addon announcements
🎬 Installation Tutorial — Watch the step-by-step video guide below
📺 YouTube Channel — NeoSmartApps on YouTube — tutorials, walkthroughs, and new release demos
☕ Support the Project — Buy us a coffee via PayPal — Tempmails is free forever; your support keeps development alive
🖥️ Need Hosting? — Tempmails works best on a VPS or shared host with catch-all IMAP support. We recommend Hostinger (affiliate link — we earn a small commission at no extra cost to you)
🎬 Watch: Full Installation Tutorial
Core Features
📨 Email Engine
IMAP Email Fetching — connects to any catch-all IMAP mailbox
Auto Email Generation — random disposable addresses on your own domains
Real-time Inbox — AJAX-powered message viewer with configurable auto-refresh
Attachment Support — download files with 40+ allowed extensions
🎨 Design & UI
Material Design 3 UI — modern, responsive inbox with Inter & Poppins fonts
White-labeled — fully rebrandable, no third-party branding in the UI
Design Panel — live color picker and label customization in admin
Soft Delete — messages are never hard-deleted; safe for compliance
Cookie-based sessions — no user accounts or registration required
Zero external data transmission — all data stays on your server
⚙️ WordPress Native
Uses WP database, cron, options, nonces, and security APIs throughout
Settings API compliant admin panel
Full i18n/l10n support with .pot file included
Shortcode
Place the inbox anywhere on your site with one shortcode:
[tempmails_inbox]
This renders the full inbox UI — email generation, copy button, auto-refresh, message list, and message viewer modal.
Addon Ecosystem
Tempmails Core is frozen infrastructure . All new functionality is delivered via addons using a documented, stable hook system — your site never breaks on Core updates.
Available addon hooks cover: email generation, message routing, inbox access control, multi-domain support, billing integration, and more. See the Hooks section below for the full reference.
Privacy
Tempmails stores temporary email addresses in browser cookies to maintain inbox sessions between page loads. No personal data is collected, stored against user accounts, or transmitted to any external service. See External Services below for details on the optional GitHub ecosystem feed.
Hooks
Tempmails exposes a complete hook system for addon developers. All hooks below are stable and frozen — they will not be renamed, removed, or have their signatures changed in any minor version.
Action Hooks
tempmails_loaded — Core fully initialized; safe for addon bootstrap
tempmails_core_ready — fires after DB integrity check; passes Core version string
tempmails_activated — fires on plugin activation; safe for addon setup
tempmails_deactivated — fires on plugin deactivation
tempmails_email_generated — new address generated; params: $email , $ip
tempmails_inbox_accessed — user opened inbox; params: $email , $ip
tempmails_message_received — new message stored; params: $message_id , $to_address
Service provider: GitHub Privacy policy: https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement
To disable this connection entirely , uncheck Ecosystem Feed under Tempmails → Settings → General . Hardcoded fallback content is shown instead — no requests are made.
Google Fonts
The frontend inbox loads the Inter and Poppins typefaces and the Material Symbols icon font from Google Fonts CDN.
What this connection does:
Fires only on pages where [tempmails_inbox] is rendered
Transmits the visitor’s IP address to Google as part of a standard font request
Service provider: Google Fonts Privacy policy: https://developers.google.com/fonts/faq/privacy
To avoid this (e.g. for GDPR compliance), dequeue tempmails-google-fonts and load self-hosted font copies instead.
Developers
This section documents internal implementation details, security practices, and notes for addon developers.
Security Hardening Log
All security changes are tracked here for auditing purposes.
2026-04-04 — Security Review Pass (v1.0.7 patch)
01class-core.php — ajax_delete_message() : $_POST['message_id'] was wp_unslash() -ed but not sanitized, with a phpcs:ignore suppression comment masking the warning. Now wrapped with sanitize_text_field( wp_unslash( … ) ). Suppression comment removed.
2026-04-02 — Security Review Pass (v1.0.7 patch)
02class-design.php — Removed raw <style> echo from render_page() . Static CSS moved to assets/css/admin.css .
03class-design.php — inject_css_variables() refactored: replaced echo “…” with wp_add_inline_style('tempmails-admin', ...) . All $v() return values now pass through esc_attr() .
04class-design.php — inject_frontend_css_variables() refactored: all CSS values escaped with esc_attr() , wp_strip_all_tags() applied.
05class-design.php — wp_footer fallback replaced raw echo '<style>' with a dummy registered style handle.
06class-tempmails-shortcodes.php — Inline <script> replaced with wp_add_inline_script(‘tempmails-frontend’, …).
07class-ecosystem.php — Inline <script> replaced with wp_add_inline_script(‘tempmails-admin’, …).
09class-admin.php — save_settings() : Raw $_POST replaced with $clean_post = array_map(‘sanitize_text_field’, wp_unslash($_POST)).
10class-email-generator.php — get_emails() : Cookie data sanitized with array_values(array_filter(array_map('sanitize_email', $raw))) .
Addon Development Notes
Hook Stability Guarantee
All hooks listed in the == Hooks == section are frozen. Signatures will not change in any 1.x release. Breaking changes will only occur in a major version bump with a migration guide.
$clean_post in save_settings hooks
As of the 2026-04-02 security patch, both tempmails_before_save_settings and tempmails_before_save_imap_settings receive a sanitized copy of $_POST. If your addon previously relied on raw values via these hooks, retrieve those fields directly from $_POST with appropriate sanitization.
CSS Variable Injection
inject_css_variables() now attaches inline CSS to the `tempmails-admin`
style handle. If your addon dequeues tempmails-admin , Design color variables will not be applied on admin pages.
inject_frontend_css_variables() uses a priority waterfall:
1. Attaches to tempmails-frontend if registered/enqueued 2. Falls back to tempmails-frontend-css 3. Registers a dummy handle tempmails-design-vars in wp_footer at priority 1
Frontend inbox — email generation, copy button, and real-time message listMessage modal — full email content with attachment download supportAdmin dashboard — statistics cards, IMAP status, and quick action buttonsSettings — General tab with fetch interval and retention controlsSettings — IMAP tab with connection credentials and live test buttonDesign panel — live preview with color pickers and label customizationAddon Health page — per-addon error log and hook status
02 / Source details
Gettingstarted.
Minimum Requirements
01WordPress 5.8 or higher
02PHP 7.4 or higher
03PHP extensions: imap , mbstring , json
04A mail server with catch-all forwarding configured on your domain
Step-by-Step Installation
05Upload the tempmails folder to /wp-content/plugins/ or install via Plugins → Add New → Upload Plugin
06Activate the plugin through Plugins → Installed Plugins
07Go to Tempmails → Settings → IMAP and enter your mail server credentials: Host: mail.yourdomain.com
08Port: 993 (SSL) or 143 (TLS)
09Encryption: SSL or TLS
10Username: catch-all@yourdomain.com
11Password: your IMAP mailbox password
12Click Test Connection to verify the credentials
13Click Save Settings
14Create a new WordPress page and add [tempmails_inbox]
15Publish — visitors can now generate and use temporary email addresses instantly
IMAP Catch-All Setup
Your mail server must have catch-all email enabled so that messages sent to any address @yourdomain.com land in the single mailbox Tempmails reads from.
In cPanel, set the Default Address for your domain to deliver to your catch-all inbox:
*@yourdomain.com → catch-all@yourdomain.com
Hostinger users: enable catch-all under hPanel → Email → Default Address . New to Hostinger? Get started here (affiliate link) — their hPanel makes IMAP catch-all setup straightforward even for beginners.
Server Cron (Recommended for Reliable Fetching)
WordPress cron only fires when your site receives traffic. For consistent email delivery, add a real server cron job in cPanel → Cron Jobs:
* * * * * cd /path/to/wordpress && wp cron event run --due-now >/dev/null 2>&1
03 / Source details
Frequently asked questions.
Does this plugin require a third-party email service?
No. Tempmails connects directly to your own IMAP mailbox. You need a mail server with catch-all forwarding — Hostinger, any cPanel-based host, or any standard IMAP server works.
What PHP extensions are required?
The imap , mbstring , and json extensions must be enabled on your server. Most shared hosting providers include these by default. The plugin will display a clear error and refuse to activate if any are missing.
Can I use my own domain names for generated addresses?
Yes. Go to Tempmails → Settings → Domains and add one domain per line. All listed domains must route their catch-all to your IMAP mailbox.
How is message deletion handled?
Tempmails uses soft delete . When a user deletes a message, the to_address field is changed to an internal tombstone value rather than removing the database row. Deleted messages never appear in inbox queries. This behavior is permanent and guaranteed across all versions.
Can I white-label the inbox UI?
Yes. All user-facing text is translation-ready and overridable via filters. The Design Panel under Tempmails → Design lets you change colors, button labels, empty state text, and border radius — with a live preview.
How do I build an addon?
Register your addon using the tempmails_registered_addons filter, then hook into any documented action or filter. Core is frozen — all new functionality must be delivered via addons. See the Hooks section for the full reference.
Emails are not appearing in the inbox
Go to Tempmails → Settings → IMAP and click Test Connection Verify catch-all forwarding is active on your mail server Confirm WordPress cron is running — use the free WP Crontrol plugin to inspect scheduled events Check Tempmails → Addon Health for any logged errors
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati