import {Footer, Navbar, SectionHeader} from '../../components'; import {motion} from 'framer-motion'; import {DASHBOARD_URI} from '../../lib/constants'; import React, {useState} from 'react'; import {NextSeo} from 'next-seo'; import {ArrowRight, CheckCircle, Loader2, Search} from 'lucide-react'; import type {EmailVerificationResult as VerificationResult} from '@plunk/types'; import {verifyEmail} from '../../lib/emailVerification'; import {EmailVerificationResult} from '../../components/tools/EmailVerificationResult'; import {Button, Input} from '@plunk/ui'; import {EMAIL_VERIFICATION_FEATURES} from '../../lib/toolsContent'; import {Bricolage_Grotesque, Hanken_Grotesk, JetBrains_Mono} from 'next/font/google'; import Link from 'next/link'; const display = Bricolage_Grotesque({ subsets: ['latin'], variable: '--font-display', display: 'swap', weight: ['400', '500', '600', '700', '800'], }); const body = Hanken_Grotesk({ subsets: ['latin'], variable: '--font-body', display: 'swap', weight: ['400', '500', '600', '700'], }); const mono = JetBrains_Mono({ subsets: ['latin'], variable: '--font-mono', display: 'swap', weight: ['400', '500'], }); export default function VerifyEmailPage() { const [email, setEmail] = useState(''); const [result, setResult] = useState(null); const [loading, setLoading] = useState(false); const [error, setError] = useState(''); const handleVerify = async (e: React.FormEvent) => { e.preventDefault(); setError(''); setResult(null); setLoading(true); try { const verificationResult = await verifyEmail(email); setResult(verificationResult); } catch (err) { setError(err instanceof Error ? err.message : 'Failed to verify email'); } finally { setLoading(false); } }; return ( <>
{/* ========== HERO ========== */}
§ T-02  —  Tool ← All tools

Email address
verification

Check for typos, disposable domains, DNS configuration, and MX records. Detailed results in seconds.

{/* ========== VERIFICATION TOOL ========== */}
Verify an address
setEmail(e.target.value)} placeholder="user@example.com" required disabled={loading} className={'w-full'} />
{error && (

{error}

)}
{result && ( )}
{/* ========== WHY VERIFY ========== */}
{EMAIL_VERIFICATION_FEATURES.map((feature, index) => { const Icon = feature.icon; return (

{feature.title}

{feature.description}

); })}
{/* ========== CTA ========== */}
Ready for production-grade verification?

Bulk verification, real-time validation, and seamless integration with your email workflows. Start free, no credit card required.

Start with Plunk