PageSourceSearch

https://cleantempmail.com/

html cleantempmail.com collected 2026-10-02 01:25:40 UTC 60,074 bytes, 940 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" dir="ltr">
3
4<head>
5    
6<meta charset="UTF-8">
7
8<script>
9
10(() => {
11    const fragment = new URLSearchParams(window.location.hash.slice(1));
12    if (!fragment.has('ctm-test')) return;
13    const token = fragment.get('ctm-test');
14    fragment.delete('ctm-test');
15    const remaining = fragment.toString();
16    const cleanURL = window.location.pathname + window.location.search + (remaining ? '#' + remaining : '');
17    try { history.replaceState(history.state, '', cleanURL); }
18    catch (_) { window.location.replace(cleanURL); return; }
19    
20    
21    window.__CTMAutomationSession = (async () => {
22        if (window.location.protocol !== 'https:' || !/^[A-Za-z0-9_-]{43}$/.test(token || '')) return false;
23        try {
24            const response = await fetch('/api/browser-session/automation', {
25                method: 'POST', credentials: 'same-origin', cache: 'no-store',
26                headers: { 'Content-Type': 'application/json' },
27                body: JSON.stringify({ token }), signal: AbortSignal.timeout(10000)
28            });
29            return response.ok && (await response.json()).success === true;
30        } catch (_) { return false; }
31    })();
32})();
33</script>
33
34
35<script>
36(function(){var t='corporate';try{var saved=localStorage.getItem('cleantempmail_theme');if(saved==='dark'||saved==='business')t='business'}catch(e){}document.documentElement.setAttribute('data-theme',t)})();
37</script>
37
38<meta name="viewport" content="width=device-width, initial-scale=1.0">
39<meta name="theme-color" content="#ffffff">
40<title>Clean Temp Mail - Free Temporary Email | CleanTempMail</title>
41<meta name="description" content="Create a free temporary email instantly with hundreds of active domains. No sign-up required—keep your real inbox clean, reduce spam, and switch addresses anytime.">
42<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
43<meta name="author" content="CleanTempMail Team">
44
45
46<meta property="og:type" content="website">
47<meta property="og:site_name" content="CleanTempMail">
48<meta property="og:locale" content="en">
49<meta property="og:url" content="https://cleantempmail.com/">
50<meta property="og:title" content="Clean Temp Mail - Free Temporary Email | CleanTempMail">
51<meta property="og:description" content="Create a free temporary email instantly with hundreds of active domains. No sign-up required—keep your real inbox clean, reduce spam, and switch addresses anytime.">
52<meta property="og:image" content="https://cleantempmail.com/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/img/og-image.png">
53<meta property="og:image:alt" content="CleanTempMail temporary email service">
54<meta property="og:image:type" content="image/png">
55<meta property="og:image:width" content="1200">
56<meta property="og:image:height" content="630">
57
58
59<meta name="twitter:card" content="summary_large_image">
60<meta name="twitter:url" content="https://cleantempmail.com/">
61<meta name="twitter:title" content="Clean Temp Mail - Free Temporary Email | CleanTempMail">
62<meta name="twitter:description" content="Create a free temporary email instantly with hundreds of active domains. No sign-up required—keep your real inbox clean, reduce spam, and switch addresses anytime.">
63<meta name="twitter:image" content="https://cleantempmail.com/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/img/og-image.png">
64<meta name="twitter:image:alt" content="CleanTempMail temporary email service">
65
66<link rel="canonical" href="https://cleantempmail.com/">
67<link rel="stylesheet" href="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/css/ui.css">
68<link rel="icon" type="image/png" sizes="32x32" href="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/img/favicon-32.png">
69<link rel="icon" type="image/png" sizes="16x16" href="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/img/favicon-16.png">
70<link rel="apple-touch-icon" sizes="180x180" href="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/img/apple-touch-icon.png">
71
72
73
74<link rel="alternate" hreflang="de" href="https://cleantempmail.com/de/" />
75
76<link rel="alternate" hreflang="en" href="https://cleantempmail.com/" />
77
78<link rel="alternate" hreflang="es" href="https://cleantempmail.com/es/" />
79
80<link rel="alternate" hreflang="fr" href="https://cleantempmail.com/fr/" />
81
82<link rel="alternate" hreflang="id" href="https://cleantempmail.com/id/" />
83
84<link rel="alternate" hreflang="nl" href="https://cleantempmail.com/nl/" />
85
86<link rel="alternate" hreflang="pt" href="https://cleantempmail.com/pt/" />
87
88<link rel="alternate" hreflang="ru" href="https://cleantempmail.com/ru/" />
89
90<link rel="alternate" hreflang="x-default" href="https://cleantempmail.com/" />
91
92
93
94
95    
96    <link rel="preconnect" href="https://cleantempmail.com">
97
98    
99    <meta name="mobile-web-app-capable" content="yes">
100    <meta name="apple-mobile-web-app-capable" content="yes">
101    <meta name="apple-mobile-web-app-status-bar-style" content="default">
102    <meta name="apple-mobile-web-app-title" content="CleanTempMail">
103    <link rel="manifest" href="/manifest.json">
104    
105    
106
107    
108    
108<script type="application/ld+json">
109    {
110      "@context": "https://schema.org",
111      "@graph": [
112        {
113          "@type": "Organization",
114          "@id": "https://cleantempmail.com/#organization",
115          "name": "CleanTempMail",
116          "url": "https://cleantempmail.com",
117          "logo": {"@type": "ImageObject", "url": "https://cleantempmail.com/static/img/logo.png"}
118        },
119        {
120          "@type": "WebSite",
121          "@id": "https://cleantempmail.com/#website",
122          "name": "CleanTempMail",
123          "url": "https://cleantempmail.com",
124          "inLanguage": "en",
125          "publisher": {"@id": "https://cleantempmail.com/#organization"}
126        },
127        {
128          "@type": "WebApplication",
129          "name": "CleanTempMail",
130          "url": "https://cleantempmail.com/",
131          "description": "Create a free temporary email instantly with hundreds of active domains. No sign-up required—keep your real inbox clean, reduce spam, and switch addresses anytime.",
132          "applicationCategory": "CommunicationApplication",
133          "operatingSystem": "Any",
134          "isAccessibleForFree": true,
135          "offers": {"@type": "Offer", "price": "0", "priceCurrency": "USD"},
136          "featureList": ["Temporary Email", "Anonymous Inbox", "Custom Domain Support", "API Access"]
137        }
138      ]
139    }
140    </script>
140
141    
141<script>
142        window.__AUTO_REFRESH_INTERVAL =  30 ;
143        window.__API_BASE_URL = "https:\/\/cleantempmail.com";
144        window.I18N = {
145            BrowserVerification: "Verify your browser to open the inbox.",
146            UnsupportedDomain: "Domain \u0027%s\u0027 is not supported",
147            Title: "Clean Temp Mail - Free Temporary Email | CleanTempMail",
148            Generating: "Generating...",
149            LinkCopied: "Link Copied",
150            Copied: "Copied",
151            CopyFailed: "Failed to copy to clipboard",
152            Refreshing: "Refreshing...",
153            NextRefresh: "Next refresh",
154            ConfirmDelete: "Are you sure you want to delete this email?",
155            ConfirmClear: "Are you sure you want to clear inbox for %s?",
156            NeedEmail: "Please generate an email address first",
157            EnterDomain: "Please enter the domain you want to add",
158            CheckingMX: "Checking MX records...",
159            DomainVerified: "Domain verified, creating email...",
160            DomainAdded: "Domain %s added successfully, redirected to your mailbox.",
161            SubmitFailed: "Submission failed, please try again later",
162            NoEmailReturned: "Server did not return an email address",
163            OpFailed: "Operation failed",
164            InboxEmpty: "Your inbox is empty",
165            WaitingEmail: "Waiting for incoming emails...",
166            NewEmailTitle: "New Email",
167            From: "From",
168            Subject: "Subject",
169            NoSubject: "No subject",
170            To: "To",
171            Delete: "Delete",
172            EmailContent: "Email content",
173            EmailPrivacyTitle: "Tracking protection",
174            EmailPrivacySession: "This browser session",
175            EmailPrivacyWarning: "Turning this off allows emails in this browser session to load remote images and media. Senders may see your IP address and when you read their emails.",
176            EmailPrivacyDisable: "Turn off and load",
177            EmailPrivacyImagesNotice: "Tracking protection is on, so external images are not loaded. To view them, turn off the Tracking protection switch above.",
178            AdminBtnCancel: "Cancel",
179            GenerateFailed: "Unable to create an email address. Please try again.",
180            EmailContentFailed: "Unable to load this email. Please try again.",
181            NotificationEnabled: "Desktop notifications enabled",
182            NotificationDisabled: "Desktop notifications disabled",
183            NotificationTestTitle: "Notifications Enabled",
184            NotificationTestBody: "You will be notified when new emails arrive",
185            NotificationNotSupported: "Desktop notifications are not supported in this browser",
186            NotificationDenied: "Notifications are blocked. Please enable them in your browser settings.",
187            NotificationEnableTitle: "Enable desktop notifications",
188            ConnectionConnected: "Connected — live inbox updates are active",
189            ConnectionReconnecting: "Connection interrupted — reconnecting…",
190            NotificationDisableTitle: "Disable desktop notifications",
191            PwdCopied: "Password copied!",
192            HistoryEmpty: "No history yet",
193            DomainPickerTitle: "Choose domain",
194            DomainPickerSubtitle: "Active domain pool",
195            DomainPickerSearch: "Search 1000\u002b domains",
196            DomainPickerPopular: "Popular",
197            DomainPickerRecent: "Recent",
198            DomainPickerFavorites: "Favorites",
199            DomainPickerAll: "All",
200            DomainPickerBrowse: "Browse full domain list",
201            DomainPickerRandom: "Use random domain",
202            DomainPickerLocked: "Locked",
203            DomainPickerAvailable: "Available",
204            DomainPickerLoading: "Loading domains...",
205            DomainPickerLoadFailed: "Failed to load domains",
206            DomainPickerRetry: "Retry",
207            DomainPickerNoMatch: "No matching domains",
208            DomainPickerNoSection: "No domains in this section",
209            DomainPickerNoFound: "No domains found",
210            DomainPickerRemoveFavorite: "Remove favorite",
211            DomainPickerAddFavorite: "Add favorite",
212            DomainPickerUnlocked: "Domain unlocked. Random addresses can use any active domain.",
213            DomainPickerShowing: "%d domains, showing first %d",
214            DomainPickerCountOne: "1 domain",
215            DomainPickerCountMany: "%d domains",
216            Attachments: "Attachments",
217            AttachmentDownload: "Download attachment"
218        };
219    </script>
219
220    
220<script>
221        (function () {
222            try {
223                const params = new URLSearchParams(window.location.search);
224                const path = window.location.pathname;
225
226                
227                
228                if (params.get('error') === 'unsupported_domain') {
229                    const badDomain = (params.get('domain') || '').trim().toLowerCase();
230                    const stored = localStorage.getItem('cleantempmail_address');
231                    if (stored && stored.split('@')[1]?.toLowerCase() === badDomain) localStorage.removeItem('cleantempmail_address');
232                    if ((localStorage.getItem('cleantempmail_locked_domain') || '').toLowerCase() === badDomain) localStorage.removeItem('cleantempmail_locked_domain');
233                    return;
234                }
235
236                
237                const isRootPath = path === '/' || path === '' || /^\/[a-z]{2}(-[a-zA-Z]{2})?\/?$/.test(path);
238
239                if (isRootPath && !window.location.hash && !params.get('domain') && !window.__CTMAutomationSession) {
240                    const savedEmail = localStorage.getItem('cleantempmail_address');
241                    const isValidSavedEmail = (email) => {
242                        if (!email || typeof email !== 'string' || email.length > 120) return false;
243                        
244                        const parts = email.split('@');
245                        return parts.length === 2 && parts[0].length > 0 && parts[1].length > 0 && !email.includes('/') && !email.includes(' ');
246                    };
247                    if (isValidSavedEmail(savedEmail)) {
248                        
249                        const basePath = path.endsWith('/') ? path.slice(0, -1) : path;
250                        window.location.replace(basePath + '/' + savedEmail);
251                    } else if (savedEmail) {
252                        localStorage.removeItem('cleantempmail_address');
253                    }
254                }
255            } catch (e) {
256                
257            }
258        })();
259    </script>
259
260</head>
261
262<body class="ct-page-shell">
263    
264    
265
266<nav class="navbar ct-navbar">
267    <div class="ct-navbar-start">
268        <a href="/" class="logo gap-2 text-base-content">
269            <img src="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/img/logo.png" width="32" height="32" alt="CleanTempMail Logo" class="size-8">
270            <span>CleanTempMail</span>
271        </a>
272    </div>
273    <div class="ct-navbar-center nav-links">
274        <a href="/statistics" class="ct-btn ct-btn-ghost ct-btn-sm">Statistics</a>
275        <a href="/api" class="ct-btn ct-btn-ghost ct-btn-sm">API</a>
276        <a href="/domains" class="ct-btn ct-btn-ghost ct-btn-sm">Domains</a>
277        <a href="/news" class="ct-btn ct-btn-ghost ct-btn-sm">News</a>
278        <a href="/blog" class="ct-btn ct-btn-ghost ct-btn-sm">Blog</a>
279        <details class="platform-nav">
280            <summary class="platform-nav-trigger ct-btn ct-btn-ghost ct-btn-sm">
281                <span>Apps</span>
282                <svg class="platform-nav-chevron" viewBox="0 0 16 16" aria-hidden="true">
283                    <path d="m4.5 6 3.5 3.5L11.5 6" />
284                </svg>
285            </summary>
286            <div class="platform-nav-menu">
287                <a href="https://apps.apple.com/app/cleantempmail/id6804115132" target="_blank" rel="noopener" class="platform-nav-link">
288                    <span class="platform-nav-icon" aria-hidden="true">
289                        <svg class="platform-app-store-icon" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round"><path d="M6.4 17.5 13.2 5.7M10.8 5.7l6.8 11.8M5.4 14.5h13.2" /></svg>
290                    </span>
291                    <span class="platform-nav-copy"><strong>iOS app</strong><small>App Store</small></span>
292                </a>
293                <a href="https://chrome.google.com/webstore/detail/ckdnbgkaiffdkkgfplbbicegcbakimdg" target="_blank" rel="noopener" class="platform-nav-link">
294                    <span class="platform-nav-icon" aria-hidden="true">
295                        <svg viewBox="0 0 24 24" class="platform-chrome-icon"><path d="M12 1a11 11 0 0 0-9.07 4.77L6.5 12a5.5 5.5 0 0 1 5.5-5.5h9.45A11 11 0 0 0 12 1Z" />
295<path d="M2.35 6.75A11 11 0 0 0 11.1 22.96l3.58-6.2A5.5 5.5 0 0 1 7.25 14Z" /><path d="M15.55 7.5a5.5 5.5 0 0 1 .38 8.42l-3.58 6.2A11 11 0 0 0 22.55 8.5H15.55Z" /><circle cx="12" cy="12" r="3.5" /></svg>
296                    </span>
297                    <span class="platform-nav-copy"><strong>Chrome extension</strong><small>Chrome Web Store</small></span>
298                </a>
299            </div>
300        </details>
301    </div>
302    <div class="ct-navbar-end nav-actions">
303        <button class="theme-toggle ct-btn ct-btn-ghost ct-btn-circle ct-btn-sm" onclick="toggleTheme()" title="Switch light or dark appearance" aria-label="Switch light or dark appearance">
304            <span class="theme-icon" aria-hidden="true"></span>
305        </button>
306        <div class="lang-dropdown">
307            <button type="button" class="lang-dropbtn ct-btn ct-btn-outline ct-btn-sm" id="langBtn" aria-haspopup="true" aria-expanded="false" aria-controls="langMenu">
308                <span id="langIcon">
309                    <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
310                        <path stroke-linecap="round" stroke-linejoin="round"
311                            d="M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.546-3.131 1.567-4.374M12 21L12 3" />
312                    </svg>
313                </span>
314                <span id="langText">EN</span>
315                <span class="arrow">▼</span>
316            </button>
317            <div class="lang-dropdown-content" id="langMenu" role="menu"></div>
318        </div>
319        <button class="mobile-menu-btn ct-btn ct-btn-ghost ct-btn-circle" onclick="toggleMobileMenu()" aria-label="Open menu" aria-expanded="false">
320            <svg class="icon-svg icon-svg-lg" viewBox="0 0 24 24" stroke-width="1.5">
321                <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
322            </svg>
323        </button>
324    </div>
325</nav>
326
327
328<div class="mobile-menu-overlay" onclick="toggleMobileMenu()"></div>
329
330
331<div class="mobile-menu">
332    <div class="mobile-menu-header">
333        <div class="mobile-menu-title">Menu</div>
334        <button class="mobile-menu-close ct-btn ct-btn-ghost ct-btn-circle" onclick="toggleMobileMenu()" aria-label="Close menu">
335            <svg class="icon-svg icon-svg-lg" viewBox="0 0 24 24" stroke-width="1.5">
336                <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
337            </svg>
338        </button>
339    </div>
340    <div class="mobile-nav-links">
341        <a href="/">Home</a>
342        <a href="/statistics">Statistics</a>
343        <a href="/api">API</a>
344        <a href="/domains">Domains</a>
345        <a href="/help">Help</a>
346        <a href="/news">News</a>
347        <a href="/blog">Blog</a>
348        <div class="mobile-platforms">
349            <div class="mobile-platforms-title">Apps</div>
350            <a href="https://apps.apple.com/app/cleantempmail/id6804115132" target="_blank" rel="noopener" class="mobile-platform-link">
351                <svg class="icon-svg platform-app-store-icon" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6.4 17.5 13.2 5.7M10.8 5.7l6.8 11.8M5.4 14.5h13.2" /></svg>
352                <span><strong>iOS app</strong><small>App Store</small></span>
353            </a>
354            <a href="https://chrome.google.com/webstore/detail/ckdnbgkaiffdkkgfplbbicegcbakimdg" target="_blank" rel="noopener" class="mobile-platform-link">
355                <svg viewBox="0 0 24 24" class="mobile-platform-chrome" aria-hidden="true"><path d="M12 1a11 11 0 0 0-9.07 4.77L6.5 12a5.5 5.5 0 0 1 5.5-5.5h9.45A11 11 0 0 0 12 1Z" />
355<path d="M2.35 6.75A11 11 0 0 0 11.1 22.96l3.58-6.2A5.5 5.5 0 0 1 7.25 14Z" /><path d="M15.55 7.5a5.5 5.5 0 0 1 .38 8.42l-3.58 6.2A11 11 0 0 0 22.55 8.5H15.55Z" /><circle cx="12" cy="12" r="3.5" /></svg>
356                <span><strong>Chrome extension</strong><small>Chrome Web Store</small></span>
357            </a>
358        </div>
359        <div class="mobile-lang-menu">
360            <div class="mobile-lang-title">Language</div>
361            <div class="mobile-lang-grid" id="mobileLangMenu"></div>
362        </div>
363    </div>
364</div>
365
366
367    
368    <main class="container ct-page-width home-shell" id="main-content">
369        <div class="home-start">
370        
371        <header class="home-hero">
372            <div class="ct-kicker ct-badge ct-badge-primary ct-badge-outline">CleanTempMail</div>
373            <h1 class="ct-display-title">Free temporary email, across every domain.</h1>
374            <p class="ct-lead">Spin up a disposable inbox instantly with 1540 domains to choose from. No sign-up, keep your inbox clean and spam-free.</p>
375            <div class="home-hero-links">
376                <a href="/help" class="home-help-link">Help <span aria-hidden="true">↗</span></a>
377            </div>
378        </header>
379
380        <section class="mail-workspace" aria-label="Inbox">
381        
382        
383
384        <div class="control-panel">
385            <div class="email-card">
386                <div class="mailbox-heading">
387                    <div class="email-label">CURRENT ADDRESS</div>
388                    <details class="history-card" id="mailboxHistory">
389                        <summary class="history-title">
390                            <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.6" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
391                            <span>Recent addresses</span>
392                            <svg class="history-chevron icon-svg" viewBox="0 0 24 24" stroke-width="1.6" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="m8 10 4 4 4-4"/></svg>
393                        </summary>
394                        <div class="history-popover">
395                            <div class="history-header">
396                                <span>Recent addresses</span>
397                                <button type="button" class="history-clear ct-btn ct-btn-ghost ct-btn-xs" onclick="clearEmailHistory()">Clear history</button>
398                            </div>
399                            <div id="emailHistory" class="history-list">
400                                <div class="history-empty">No history yet</div>
401                            </div>
402                        </div>
403                    </details>
404                </div>
405                <div class="mailbox-address-row">
406                    <button type="button" class="email-address" id="emailDisplay" aria-live="polite" dir="ltr" onclick="copyEmail()" title="Copy">Generating...</button>
407                    <button type="button" class="email-copy-primary ct-btn ct-btn-primary ct-btn-sm" onclick="event.stopPropagation(); copyEmail()" title="Copy">
408                        <svg class="icon-svg icon-svg-sm" viewBox="0 0 24 24" stroke-width="1.75" aria-hidden="true">
409                            <path stroke-linecap="round" stroke-linejoin="round" d="M9 8.25H6.75A2.25 2.25 0 0 0 4.5 10.5v8.25A2.25 2.25 0 0 0 6.75 21h8.25a2.25 2.25 0 0 0 2.25-2.25V16.5M9 8.25V5.25A2.25 2.25 0 0 1 11.25 3h6A2.25 2.25 0 0 1 19.5 5.25v6a2.25 2.25 0 0 1-2.25 2.25h-3" />
410                        </svg>
411                        <span class="email-copy-label">Copy</span>
412                    </button>
413                </div>
414                <div class="email-card-actions">
415                    <div class="email-domain-tools">
416                        <button type="button" class="email-domain-btn ct-btn ct-btn-sm" id="domainPickerButton" onclick="openDomainPicker(event)">
417                            <span id="currentDomainLabel" dir="ltr">@...</span>
418                            <span class="domain-lock-badge" id="domainLockBadge" hidden aria-hidden="true">Locked</span>
419                            <svg class="domain-trigger-chevron icon-svg" viewBox="0 0 24 24" stroke-width="1.6" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="m8 10 4 4 4-4"/></svg>
420                        </button>
421                        <button type="button" class="email-domain-unlock ct-btn ct-btn-sm" id="domainUnlockButton" onclick="unlockDomain(event)" hidden>Unlock</button>
422                    </div>
423                    <div class="action-bar">
424
425                        <button type="button" class="action-btn ct-btn ct-btn-ghost" onclick="generateNewEmail()" title="Random">
426                            <span class="icon">
427                                <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
428                                    <path stroke-linecap="round" stroke-linejoin="round"
429                                        d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99" />
430                                </svg>
431                            </span>
432                            <span class="label">Random</span>
433                        </button>
434                        <button type="button" class="action-btn ct-btn ct-btn-ghost" onclick="toggleCustomPrefix()" aria-controls="customPrefixContainer" aria-expanded="false" title="Custom">
435                            <span class="icon">
436                                <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
437                                    <path stroke-linecap="round" stroke-linejoin="round"
438                                        d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L6.832 19.82a4.5 4.5 0 01-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 011.13-1.897L16.863 4.487zm0 0L19.5 7.125" />
439                                </svg>
440                            </span>
441                            <span class="label">Custom</span>
442                        </button>
443                        <button type="button" class="action-btn ct-btn ct-btn-ghost" onclick="copyLink()" title="Link">
444                            <span class="icon">
445                                <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
446                                    <path stroke-linecap="round" stroke-linejoin="round"
447                                        d="M13.19 8.688a4.5 4.5 0 011.242 7.244l-4.5 4.5a4.5 4.5 0 01-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 00-6.364-6.364l-4.5 4.5a4.5 4.5 0 001.242 7.244" />
448                                </svg>
449                            </span>
450                            <span class="label">Link</span>
451                        </button>
452                    </div>
453                </div>
454                <div class="copy-toast" id="copyFeedback" role="status" aria-live="polite">Copied</div>
455            </div>
456            
457            <div class="custom-prefix-container" id="customPrefixContainer">
458                <div class="prefix-input-group">
459                    <input type="text" class="prefix-input ct-input" id="customPrefix" aria-label="Enter mailbox prefix" placeholder="Enter mailbox prefix" maxlength="20"
460                        autocomplete="off">
461                    <button class="prefix-submit-btn ct-btn ct-btn-primary" onclick="generateNewEmail()" aria-label="Generate">
462                        <svg class="icon-svg" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M4 12h16m-6-6 6 6-6 6"/></svg>
463                    </button>
464                </div>
465            </div>
466        </div>
467
468        
469        <div class="inbox-container">
470            <div class="inbox-header">
471                <div class="inbox-title">
472                    <span>
473                        <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
474                            <path stroke-linecap="round" stroke-linejoin="round"
475                                d="M2.25 13.5h3.86a2.25 2.25 0 012.012 1.244l.256.512a2.25 2.25 0 002.013 1.244h3.218a2.25 2.25 0 002.013-1.244l.256-.512a2.25 2.25 0 012.013-1.244h3.859m-19.5.338V18a2.25 2.25 0 002.25 2.25h15A2.25 2.25 0 0021.75 18v-4.162c0-.224-.034-.447-.1-.661L19.24 5.338a2.25 2.25 0 00-2.15-1.588H6.911a2.25 2.25 0 00-2.15 1.588L2.35 13.177a2.25 2.25 0 00-.1.661z" />
476                        </svg>
477                    </span> Inbox
478                    <span class="connection-status" id="connectionStatus" title="Connection interrupted — reconnecting…"></span>
479                </div>
480                <div class="inbox-controls">
481                    <div class="inbox-actions">
482                        <button type="button" class="inbox-action-btn notification-btn ct-btn ct-btn-ghost ct-btn-sm" id="notificationToggle"
483                            onclick="toggleNotifications()" title="Enable desktop notifications">
484                            <span class="notification-icon">
485                                
486                                <svg class="icon-svg notification-enabled" viewBox="0 0 24 24" stroke-width="1.5">
487                                    <path stroke-linecap="round" stroke-linejoin="round"
488                                        d="M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0" />
489                                </svg>
490                                
491                                <svg class="icon-svg notification-disabled is-hidden" viewBox="0 0 24 24" stroke-width="1.5">
492                                    <path stroke-linecap="round" stroke-linejoin="round"
493                                        d="M9.143 17.082a24.248 24.248 0 003.844.148m-3.844-.148a23.856 23.856 0 01-5.455-1.31 8.964 8.964 0 002.3-5.542m3.155 6.852a3 3 0 005.667 1.97m1.965-2.277L21 21m-4.225-4.225a23.81 23.81 0 003.536-1.003A8.967 8.967 0 0118 9.75V9A6 6 0 006.53 6.53m10.245 10.245L6.53 6.53M3 3l3.53 3.53" />
494                                </svg>
495                            </span>
496                        </button>
497                        <button type="button" class="inbox-action-btn refresh-btn ct-btn ct-btn-ghost ct-btn-sm" onclick="refreshInbox()">
498                            <span class="refresh-icon">
499                                <svg class="icon-svg icon-svg-sm" viewBox="0 0 24 24" stroke-width="1.5">
500                                    <path stroke-linecap="round" stroke-linejoin="round"
501                                        d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99" />
502                                </svg>
503                            </span>
504                            Refresh
505                        </button>
506                        <button type="button" class="inbox-action-btn danger ct-btn ct-btn-ghost ct-btn-sm text-error"
507                            onclick="clearInbox()">Clear Inbox</button>
508                    </div>
509                    <div class="notification-feedback" id="notificationFeedback"></div>
510                </div>
511            </div>
512
513            <div id="emailPrivacySettings"></div>
514
515            <ul class="email-list" id="emailList">
516                <li class="empty-state">
517                    <div class="empty-icon-container">
518                        <svg class="icon-svg" viewBox="0 0 24 24"
519                            fill="none" stroke="currentColor" stroke-width="1.5">
520                            <path stroke-linecap="round" stroke-linejoin="round"
521                                d="M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75" />
522                        </svg>
523                    </div>
524                    <h3>Your inbox is empty</h3>
525                    <p>Waiting for incoming emails...</p>
526                </li>
527            </ul>
528        </div>
529        </section>
530
531
532
533
534        </div>
535
536        <section class="home-api-promo ct-content-card" aria-labelledby="home-api-title">
537            <div>
538                <p class="api-section-eyebrow">API pricing</p>
539                <h2 id="home-api-title">Automate email testing with the Temp Mail API</h2>
540                <p>Test sign-up emails, verification flows and attachments with your own API key. Choose a fixed request quota and pay once, with no subscription.</p>
541            </div>
542            <a href="/api#api-plans" class="ct-btn ct-btn-primary">API pricing <span aria-hidden="true">→</span></a>
543        </section>
544
545
546        <section class="home-secondary-grid">
547        
548        <div class="domain-card">
549            <div class="domain-card-header">
550                <div>
551                    <h2>Bring Your Own Domain</h2>
552                    <p>Configure MX record to point to <strong>mail.cleantempmail.com</strong>, then submit your domain here.</p>
553                </div>
554                <div class="domain-card-icon">
555                    <svg class="icon-svg" viewBox="0 0 24 24"
556                        stroke-width="1.5">
557                        <path stroke-linecap="round" stroke-linejoin="round"
558                            d="M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25" />
559                    </svg>
560                </div>
561            </div>
562            <form id="domainRequestForm" class="domain-form">
563                <div class="domain-input-group">
564                    <input class="ct-input" type="text" id="domainInput" aria-label="e.g. example.com" placeholder="e.g. example.com" autocomplete="off"
565                        required>
566                    <button type="submit" class="ct-btn ct-btn-primary">Add Domain</button>
567                </div>
568                <p class="domain-hint">System checks MX records in real-time. Only correct records will be accepted.</p>
569                <div id="domainFeedback" class="domain-feedback" role="alert"></div>
570            </form>
571        </div>
572
573        
574        <div class="password-card">
575            <div class="password-card-header">
576                <div>
577                    <h2>Privacy Toolkit</h2>
578                    <p>Generate strong passwords and random names to protect your privacy when signing up.</p>
579                </div>
580                <div class="password-card-icon">
581                    <svg class="icon-svg" viewBox="0 0 24 24"
582                        stroke-width="1.5">
583                        <path stroke-linecap="round" stroke-linejoin="round"
584                            d="M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z" />
585                    </svg>
586                </div>
587            </div>
588
589            
590            <div class="name-generator-section">
591                <div class="name-greeting">
592                    <span class="greeting-text">Hi,</span>
593                    <button type="button" class="random-name" id="randomName" onclick="copyRandomName()"
594                        title="Click to copy">Joe Smith</button>
595                    <button class="name-refresh-btn ct-btn ct-btn-ghost ct-btn-circle ct-btn-sm" onclick="generateRandomName()" title="Generate new name">
596                        <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
597                            <path stroke-linecap="round" stroke-linejoin="round"
598                                d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99" />
599                        </svg>
600                    </button>
601                    <div class="copy-toast" id="nameCopyFeedback">Copied</div>
602                </div>
603                <div class="name-hint">Random name for your temp account — click to copy</div>
604            </div>
605
606            
607            <div class="password-display-container">
608                <div class="password-display" id="passwordDisplay">Generating...</div>
609                <button class="password-copy-btn ct-btn ct-btn-ghost ct-btn-circle" onclick="copyPassword()" title="Copy">
610                    <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
611                        <path stroke-linecap="round" stroke-linejoin="round"
612                            d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" />
613                    </svg>
614                </button>
615                <div class="copy-toast" id="pwdCopyFeedback">Copied</div>
616            </div>
617
618            <div class="password-controls">
619                <div class="password-length-control">
620                    <label for="pwdLength">Length: <span id="pwdLengthVal">16</span></label>
621                    <input class="ct-range ct-range-primary ct-range-sm" type="range" id="pwdLength" min="8" max="32" value="16"
622                        oninput="updatePwdLength(this.value)">
623                </div>
624                <button type="button" class="password-generate-btn ct-btn ct-btn-primary" onclick="generatePassword()">
625                    <span class="icon">
626                        <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
627                            <path stroke-linecap="round" stroke-linejoin="round"
628                                d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99" />
629                        </svg>
630                    </span>
631                    <span class="label">Generate</span>
632                </button>
633            </div>
634        </div>
635        </section>
636
637        
638        <div class="features-section">
639            <h2 class="section-title">Why Choose CleanTempMail?</h2>
640            <div class="features-grid">
641                <div class="feature-card">
642                    <div class="feature-icon">
643                        <svg class="icon-svg" viewBox="0 0 24 24"
644                            stroke-width="1.5">
645                            <path stroke-linecap="round" stroke-linejoin="round"
646                                d="M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125" />
647                        </svg>
648                    </div>
649                    <h3 class="feature-title">Massive Domain Pool</h3>
650                    <p class="feature-desc">Access an extensive network of 1540&#43; premium, constantly updated domains. Unlike other services with blacklisted domains, our massive pool ensures high deliverability and bypasses strict filters.</p>
651                    <a class="content-read-link" href="/domains">Browse full domain list</a>
652                </div>
653                <div class="feature-card">
654                    <div class="feature-icon">
655                        <svg class="icon-svg" viewBox="0 0 24 24"
656                            stroke-width="1.5">
657                            <path stroke-linecap="round" stroke-linejoin="round"
658                                d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z" />
659                        </svg>
660                    </div>
661                    <h3 class="feature-title">Anonymous &amp; Secure</h3>
662                    <p class="feature-desc">Experience true anonymity. No personal information is ever required. Your digital footprint is protected as all emails are securely encrypted and automatically wiped after 3 days.</p>
663                </div>
664                <div class="feature-card">
665                    <div class="feature-icon">
666                        <svg class="icon-svg" viewBox="0 0 24 24"
667                            stroke-width="1.5">
668                            <path stroke-linecap="round" stroke-linejoin="round"
669                                d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z" />
670                        </svg>
671                    </div>
672                    <h3 class="feature-title">Smart Auto-Refresh</h3>
673                    <p class="feature-desc">Never miss a verification code. Emails appear in your inbox instantly as they arrive, eliminating the need for manual page reloads and ensuring a seamless, real-time experience.</p>
674                </div>
675                <div class="feature-card">
676                    <div class="feature-icon">
677                        <svg class="icon-svg" viewBox="0 0 24 24"
678                            stroke-width="1.5">
679                            <path stroke-linecap="round" stroke-linejoin="round"
680                                d="M9 6.75V15m6-6v8.25m.503 3.498l4.875-2.437c.381-.19.622-.58.622-1.006V4.82c0-.836-.88-1.38-1.628-1.006l-3.869 1.934c-.317.159-.69.159-1.006 0L9.503 3.252a1.125 1.125 0 00-1.006 0L3.622 5.689C3.24 5.88 3 6.27 3 6.695V19.18c0 .836.88 1.38 1.628 1.006l3.869-1.934c.317-.159.69.159 1.006 0l4.994 2.497c.317.158.69.158 1.006 0z" />
681                        </svg>
682                    </div>
683                    <h3 class="feature-title">Global Accessibility</h3>
684                    <p class="feature-desc">Optimized for global performance, ensuring lightning-fast access from any location. Whether on mobile or desktop, access your temporary inbox instantly without restrictions.</p>
685                </div>
686            </div>
687        </div>
688
689        
690        <div class="tools-section">
691            <h2 class="section-title">Related Tools</h2>
692            <div class="tools-grid-large">
693                <a href="https://webtracecheck.com/" target="_blank" class="tool-card-large" rel="noopener">
694                    <div class="tool-icon-large" aria-hidden="true">
695                        <svg class="icon-svg" viewBox="0 0 24 24" stroke-width="1.5">
696                            <rect x="3" y="4" width="18" height="16" rx="2" />
697                            <path stroke-linecap="round" stroke-linejoin="round" d="M3 9h18M6 6.5h.01M9 6.5h.01M12 13l-2 2 2 2m3-4 2 2-2 2" />
698                        </svg>
699                    </div>
700                    <div class="tool-info">
701                        <h3>WebTraceCheck · Cloud Browser</h3>
702                        <p>Open a full browser in the cloud and browse websites remotely, with no installation.</p>
703                    </div>
704                    <div class="tool-action">Visit <span aria-hidden="true">→</span></div>
705                </a>
706            </div>
707        </div>
708
709    </main>
710
711    
712    <div class="comparison-section">
713        <h2 class="section-title">CleanTempMail vs Others</h2>
714        <div class="comparison-container">
715            <div class="comparison-table">
716                <div class="comp-header">
717                    <div class="comp-cell feature-col"></div>
718                    <div class="comp-cell gpt-col">
719                        <img src="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/img/logo.png" width="22" height="22" alt="CleanTempMail" class="comp-logo">
720                        <span>CleanTempMail</span>
721                    </div>
722                    <div class="comp-cell other-col">Other services</div>
723                </div>
724                <div class="comp-row">
725                    <div class="comp-cell feature-col">Domain Selection</div>
726                    <div class="comp-cell gpt-col highlight">Massive Pool (More than paid services)</div>
727                    <div class="comp-cell other-col">Limited (Often &lt; 10)</div>
728                </div>
729                <div class="comp-row">
730                    <div class="comp-cell feature-col">Direct Link Access</div>
731                    <div class="comp-cell gpt-col highlight">Supported (e.g. /[email protected])</div>
732                    <div class="comp-cell other-col">Not Supported</div>
733                </div>
734                <div class="comp-row">
735                    <div class="comp-cell feature-col">Cost</div>
736                    <div class="comp-cell gpt-col highlight">100% Free</div>
737                    <div class="comp-cell other-col">Freemium / Paid</div>
738                </div>
739                <div class="comp-row">
740                    <div class="comp-cell feature-col">Privacy</div>
741                    <div class="comp-cell gpt-col highlight">No Personal Data</div>
742                    <div class="comp-cell other-col">Varies</div>
743                </div>
744                <div class="comp-row">
745                    <div class="comp-cell feature-col">API Access</div>
746                    <div class="comp-cell gpt-col highlight">One-time quota plans</div>
747                    <div class="comp-cell other-col">Paid / Private</div>
748                </div>
749            </div>
750        </div>
751    </div>
752
753    
754    <div class="faq-section">
755        <h2 class="section-title">Frequently Asked Questions</h2>
756        <div class="faq-list">
757            <details class="faq-item">
758                <summary class="faq-question">What is a temporary email?</summary>
759                <div class="faq-answer">A temporary email, also known as disposable email or throwaway mail, is a high-security email address designed to protect your primary inbox from spam, phishing, and data leaks. It allows you to receive verification codes and sign up for services anonymously without revealing your real identity.</div>
760            </details>
761            <details class="faq-item">
762                <summary class="faq-question">How long do emails last?</summary>
763                <div class="faq-answer">To ensure maximum privacy, our system enforces a strict data retention policy. All received emails are securely stored for exactly 3 days before being permanently and irreversibly deleted from our servers. Cleanup is automatic.</div>
764            </details>
765            <details class="faq-item">
766                <summary class="faq-question">Can I use my own domain?</summary>
767                <div class="faq-answer">Absolutely! CleanTempMail offers advanced custom domain support. Simply configure your domain&#39;s MX records to point to our secure servers, and you can instantly generate unlimited disposable email addresses using your own branded domain name.</div>
768            </details>
769            <details class="faq-item">
770                <summary class="faq-question">Is it free?</summary>
771                <div class="faq-answer">Yes, CleanTempMail is a 100% free temporary email service committed to internet privacy. We provide unlimited email generation and receiving capabilities at no cost, supported by non-intrusive advertising.</div>
772            </details>
773            <details class="faq-item">
774                <summary class="faq-question">Common Use Cases?</summary>
775                <div class="faq-answer">Perfect for QA software testing, verifying social media accounts (Twitter, Facebook, Instagram), signing up for temporary services, and protecting your primary inbox from spam lists. Developers can also use our API for automated testing workflows.</div>
776            </details>
777            <details class="faq-item">
778                <summary class="faq-question">Is my privacy truly protected?</summary>
779                <div class="faq-answer">Absolutely. We take privacy very seriously. No registration is required, we don&#39;t track your activity, and all emails are automatically deleted after the retention period. We don&#39;t sell or share any data with third parties. Your IP address is not logged, and we use HTTPS encryption for all c
779onnections.</div>
780            </details>
781            <details class="faq-item">
782                <summary class="faq-question">Can I send emails from my temporary address?</summary>
783                <div class="faq-answer">CleanTempMail is designed for receiving emails only. This is intentional to prevent misuse and spam. If you need to send emails, we recommend using your primary email provider. Our service focuses on protecting your inbox when signing up for services or receiving verification codes.</div>
784            </details>
785            <details class="faq-item">
786                <summary class="faq-question">Do you have an API for developers?</summary>
787                <div class="faq-answer">Yes. Our REST API supports generating addresses, reading messages, and managing inboxes. Use the shared limited test key to try it, or buy an independent API key with a fixed request quota. See the API page for current plans and documentation.</div>
788            </details>
789            <details class="faq-item">
790                <summary class="faq-question">Does it work on mobile devices?</summary>
791                <div class="faq-answer">Yes, CleanTempMail is fully responsive and works seamlessly on all devices including smartphones and tablets. You can also install it as a Progressive Web App (PWA) on your home screen for quick access, just like a native app but without the download from app stores.</div>
792            </details>
793            <details class="faq-item">
794                <summary class="faq-question">Why are some emails not arriving?</summary>
795                <div class="faq-answer">Some websites may block known temporary email domains. If you experience delivery issues, try using a different domain from our extensive pool or use the custom domain feature with your own domain. Also ensure you&#39;re checking the correct inbox address and refresh the page.</div>
796            </details>
797            <details class="faq-item">
798                <summary class="faq-question">What&#39;s the difference between temporary and regular email?</summary>
799                <div class="faq-answer">Regular email is tied to your identity and stores messages indefinitely, making it vulnerable to spam and data breaches. Temporary email is anonymous, requires no personal information, and automatically deletes all data after a set period, giving you privacy and a clean inbox.</div>
800            </details>
801            <details class="faq-item">
802                <summary class="faq-question">Can I recover deleted emails?</summary>
803                <div class="faq-answer">No, once emails are deleted (either manually or automatically after the retention period), they are permanently and irreversibly removed from our servers. This is by design to ensure your privacy. If you need to keep important information, save it before it&#39;s deleted.</div>
804            </details>
805            <details class="faq-item">
806                <summary class="faq-question">Is it safe for receiving verification codes?</summary>
807                <div class="faq-answer">Yes, it&#39;s one of the most common use cases. CleanTempMail is perfect for receiving verification codes, password reset links, and confirmation emails from websites. Just remember that anyone with your temporary address can see incoming emails, so don&#39;t use it for sensitive accounts.</div>
808            </details>
809            <details class="faq-item">
810                <summary class="faq-question">How many email addresses can I create?</summary>
811                <div class="faq-answer">There&#39;s no limit! You can generate as many temporary email addresses as you need, completely free. Each address works independently, and you can switch between different domains to maximize deliverability and avoid potential blocks from certain websites.</div>
812            </details>
813            <details class="faq-item">
814                <summary class="faq-question">What makes CleanTempMail different from other services?</summary>
815                <div class="faq-answer">CleanTempMail offers a large domain pool, custom domain support, and temporary inboxes without registration. The website is free to use; developers can purchase API keys with a fixed request quota for automated workflows.</div>
816            </details>
817        </div>
818    </div>
819    <div class="domain-picker-overlay" id="domainPickerOverlay" aria-hidden="true">
820        <div class="domain-picker-panel ct-surface" role="dialog" aria-modal="true" aria-labelledby="domainPickerTitle">
821            <div class="domain-picker-header">
822                <div>
823                    <h2 id="domainPickerTitle">Choose domain</h2>
824                    <p id="domainPickerSubtitle">Active domain pool</p>
825                </div>
826                <button type="button" class="domain-picker-close ct-btn ct-btn-ghost ct-btn-circle ct-btn-sm" onclick="closeDomainPicker()" aria-label="Close"><svg class="icon-svg" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" d="m6 6 12 12M18 6 6 18"/></svg></button>
827            </div>
828            <div class="domain-search-wrap">
829                <input type="search" id="domainSearchInput" aria-label="Search 1000&#43; domains" class="domain-search-input ct-input w-full" placeholder="Search 1000&#43; domains" autocomplete="off">
830            </div>
831            <div class="domain-tabs-row">
832                <div class="domain-tabs" id="domainTabs">
833                    <button type="button" class="domain-tab active ct-tab" data-tab="popular">Popular</button>
834                    <button type="button" class="domain-tab ct-tab" data-tab="recent">Recent</button>
835                    <button type="button" class="domain-tab ct-tab" data-tab="favorites">Favorites</button>
836                    <button type="button" class="domain-tab ct-tab" data-tab="all">All</button>
837                </div>
838                <div class="domain-picker-status" id="domainPickerStatus"></div>
839            </div>
840            <div class="domain-picker-list" id="domainPickerList" role="list" aria-live="polite"></div>
841            <div class="domain-picker-footer">
842                <a href="/domains">Browse full domain list</a>
843                <button type="button" class="ct-btn ct-btn-ghost ct-btn-sm" onclick="clearDomainLockFromPicker()">Use random domain</button>
844            </div>
845        </div>
846    </div>
847    
847<script src="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/js/email-content.js"></script>
847
848    
848<script src="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/js/browser-session.js"></script>
848
849    
849<script src="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/js/app.js"></script>
849
850    
851<script src="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/js/main.js"></script>
851
852
853    
854    
854<script>
855        (function () {
856            let loaded = false;
857            function loadAdSense() {
858                if (loaded) return;
859                loaded = true;
860                const script = document.createElement('script');
861                script.async = true;
862                script.crossOrigin = 'anonymous';
863                script.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8899008074121436';
864                document.head.appendChild(script);
865            }
866            window.addEventListener('load', function () {
867                if ('requestIdleCallback' in window) {
868                    window.requestIdleCallback(loadAdSense, { timeout: 2500 });
869                } else {
870                    window.setTimeout(loadAdSense, 1200);
871                }
872            }, { once: true });
873        })();
874    </script>
874
875    
876    
877<footer class="footer">
878    <div class="footer-shell">
879        <div class="footer-main">
880            <a href="/" class="footer-brand" aria-label="CleanTempMail · Home">
881                <img src="/static/v2dfb7ec332a0849b04f1c7515a94144f08517a28/img/logo.png" width="26" height="26" alt="" aria-hidden="true">
882                <span>CleanTempMail</span>
883            </a>
884
885            <nav class="footer-links" aria-label="Footer navigation">
886                <a href="/api" class="footer-link">API pricing</a>
887                <a href="/help" class="footer-link">Help</a>
888                <a href="/about" class="footer-link">About</a>
889                <a href="/contact" class="footer-link">Contact</a>
890                <a href="/terms" class="footer-link">Terms &amp; Privacy</a>
891            </nav>
892
893            <div class="footer-social">
894                <a href="https://github.com/cleantempmail" target="_blank" rel="noopener" class="social-icon ct-btn ct-btn-ghost ct-btn-circle ct-btn-sm" title="GitHub" aria-label="GitHub">
895                    <svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor">
896                        <path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" />
897                    </svg>
898                </a>
899                <a href="https://apps.apple.com/app/cleantempmail/id6804115132" target="_blank" rel="noopener" class="social-icon ct-btn ct-btn-ghost ct-btn-circle ct-btn-sm" title="iOS app · App Store" aria-label="iOS app · App Store">
900                    <svg class="platform-app-store-icon" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round">
901                        <path d="M6.4 17.5 13.2 5.7M10.8 5.7l6.8 11.8M5.4 14.5h13.2" />
902                    </svg>
903                </a>
904                <a href="https://chrome.google.com/webstore/detail/ckdnbgkaiffdkkgfplbbicegcbakimdg" target="_blank" rel="noopener" class="social-icon ct-btn ct-btn-ghost ct-btn-circle ct-btn-sm" title="Chrome extension" aria-label="Chrome extension">
905                    <svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor">
906                        <path d="M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-3.952 6.848a12.014 12.014 0 0 0 9.752-5.666A11.986 11.986 0 0 0 24 12c0-.262-.015-.522-.035-.78H15.18a5.398 5.398 0 0 1 .093 1.416zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728z" />
907                    </svg>
908                </a>
909            </div>
910        </div>
911
912        <div class="footer-bottom">
913            <div class="copyright">&copy; 2026 CleanTempMail. All rights reserved.</div>
914            <div class="trustpilot-widget" data-locale="en-US" data-template-id="56278e9abfbbba0bdcd568bc"
915                data-businessunit-id="6938b689fde29e408a4d6345" data-style-height="52px" data-style-width="160px"
916                data-token="4fb4556a-9479-4897-a786-e44fb06d1dbc">
917                <a href="https://www.trustpilot.com/review/cleantempmail.com" target="_blank" rel="noopener">Trustpilot</a>
918            </div>
919        </div>
920    </div>
921</footer>
922
923
924
925    
925<script>
926        if ('serviceWorker' in navigator) {
927            window.addEventListener('load', () => {
928                navigator.serviceWorker.register('/static/js/sw.js', { updateViaCache: 'none' })
929                    .then(registration => {
930                        registration.update().catch(() => {});
931                    })
932                    .catch(err => {
933                        
934                    });
935            });
936        }
937    </script>
937
938</body>
939
940</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.