diff --git a/app/Livewire/LandingPage.php b/app/Livewire/LandingPage.php new file mode 100644 index 0000000..90e7729 --- /dev/null +++ b/app/Livewire/LandingPage.php @@ -0,0 +1,15 @@ + 'col-span-1', 'rowSpan' => 'row-span-1', 'title', 'subtitle' => null]) +
+ +
+
+ + +
+
+ +
+ @if(isset($icon)) +
+ {{ $icon }} +
+ @endif + +

{{ $title }}

+ + @if($subtitle) +

{{ $subtitle }}

+ @endif + +
+ {{ $slot }} +
+
+
diff --git a/resources/views/components/bento/code-window.blade.php b/resources/views/components/bento/code-window.blade.php new file mode 100644 index 0000000..b4d43cc --- /dev/null +++ b/resources/views/components/bento/code-window.blade.php @@ -0,0 +1,19 @@ +@props(['filename' => 'api-request.sh']) +
+ +
+
+
+
+
+
+
+ {{ $filename }} +
+
+ + +
+ {{ $slot }} +
+
diff --git a/resources/views/components/bento/cta.blade.php b/resources/views/components/bento/cta.blade.php new file mode 100644 index 0000000..5f08979 --- /dev/null +++ b/resources/views/components/bento/cta.blade.php @@ -0,0 +1,83 @@ +
+ +
+
+ +
+
+ +
+
+ + +
+
+
+ Live Metrics +
+ +

+ Ready to take back your privacy? +

+ +

+ Create your first disposable Gmail in seconds. + No credit card, no registration, no tracking. +

+ + +
+ +
+
1,248,920
+
Mailboxes Created
+
+ + + +
+
48,291,032
+
Email Received
+
+
+ + + + + +
+
+ + No CC Required +
+
+ + 100% Private +
+
+
+
+
+
diff --git a/resources/views/components/bento/dynamic-layout.blade.php b/resources/views/components/bento/dynamic-layout.blade.php new file mode 100644 index 0000000..9af157c --- /dev/null +++ b/resources/views/components/bento/dynamic-layout.blade.php @@ -0,0 +1,76 @@ +
+ {{ $title }} — Imail + +
+ + + + +
+ +
+
+ +
+ +
+
+ +
+ + +
+
+ Last Updated: {{ $lastUpdated ?? date('F d, Y') }} +
+ + + + + +
+

SECURE

+
+
+ + +
+
+
+ +
+
+

Need legal clarification?

+

Our compliance team is available to answer any questions.

+
+
+ + Send Email + +
+
+
+
+
+ + + + + + + +
diff --git a/resources/views/components/bento/faq.blade.php b/resources/views/components/bento/faq.blade.php new file mode 100644 index 0000000..419d5e7 --- /dev/null +++ b/resources/views/components/bento/faq.blade.php @@ -0,0 +1,178 @@ +
+ +
+ +
+ +
+
+
+ Support +
+

+ Common questions. +

+

+ Everything you need to know about Imail, privacy, and temporary communication. +

+
+ + +
+ +
+ +
+

+ Yes! Imail uses a sophisticated backend to route communications through temporary, high-reputation Gmail and Outlook nodes. This ensures that you can bypass "Disposable Email" filters while maintaining 100% privacy. +

+
+
+ + +
+ +
+

+ By default, emails and their attachments are purged automatically after 24 hours. Pro users can extend this retention period up to 7 days for more complex workflows or testing cycles. +

+
+
+ + +
+ +
+

+ Absolutely. All incoming data is encrypted at rest using industry-standard AES-256. Our "Auto-Delete" mechanism is a hard wipe, meaning that once the retention period ends, the data is cryptographically unrecoverable even by us. +

+
+
+ + +
+ +
+

+ Yes, but this is a Pro feature. Pro users can connect their own domains via custom MX records, allowing you to generate infinite temporary addresses on your own brand. +

+
+
+ + +
+ +
+

+ Most emails arrive instantly, but high traffic or sender-side filters may cause delays. If it takes longer than 15 minutes, try generating an email using a different domain suffix, as some domains may be temporarily throttled by external providers. +

+
+
+ + +
+ +
+

+ No. Imail is a 100% web-based service. It is accessible across all modern browsers and devices (Desktop, Mobile, Tablet) without the need for any apps or browser extensions. +

+
+
+ + +
+ +
+

+ Free users can have up to 5 active addresses simultaneously. If you need more, you can either delete old ones or upgrade to **Pro** for unlimited active addresses and dedicated premium domains. +

+
+
+
+ + +
+

+ Still have questions? + Chat with our team +

+
+
+
diff --git a/resources/views/components/bento/footer.blade.php b/resources/views/components/bento/footer.blade.php new file mode 100644 index 0000000..fa4aa07 --- /dev/null +++ b/resources/views/components/bento/footer.blade.php @@ -0,0 +1,77 @@ + diff --git a/resources/views/components/bento/grid.blade.php b/resources/views/components/bento/grid.blade.php new file mode 100644 index 0000000..65c9f5b --- /dev/null +++ b/resources/views/components/bento/grid.blade.php @@ -0,0 +1,22 @@ +
+
+ +
+
+
+ Capabilities +
+

+ Everything you need, nothing you don't. +

+

+ Imail is built for the modern web. From instant API access to premium Gmail domains, + we've automated the friction out of temporary email management. +

+
+ +
+ {{ $slot }} +
+
+
diff --git a/resources/views/components/bento/hero.blade.php b/resources/views/components/bento/hero.blade.php new file mode 100644 index 0000000..aa1d39f --- /dev/null +++ b/resources/views/components/bento/hero.blade.php @@ -0,0 +1,223 @@ +
+ +
+ +
+
+ + +
+ +
+ + + + + Imail Beta Live +
+ +

+ Built for the modern tester_ +

+ +

+ Generate instant, secure, and ephemeral temporary inboxes for Developers, Privacy Users, and QA Teams. Lightning fast Websocket delivery built-in. +

+ +
+ + + Imail in 100 seconds + +
+
+ + +
+ +
+ +
+
+
+
+
+
+
+ + imail.local/inbox +
+
+ + +
+ + + + +
+ +
+
+

+ Active Inbox +
+

+
Auto-refresh
+
+ +
+ +
+
+ + + +
+
+
+
+ +
+
+
+ + + + diff --git a/resources/views/components/bento/nav.blade.php b/resources/views/components/bento/nav.blade.php new file mode 100644 index 0000000..e88ce3f --- /dev/null +++ b/resources/views/components/bento/nav.blade.php @@ -0,0 +1,84 @@ +
+ + + + + +
diff --git a/resources/views/components/bento/page-header.blade.php b/resources/views/components/bento/page-header.blade.php new file mode 100644 index 0000000..935ae25 --- /dev/null +++ b/resources/views/components/bento/page-header.blade.php @@ -0,0 +1,35 @@ +@props([ + 'title', + 'subtitle' => null, + 'breadcrumb' => null, +]) + +
+ +
+ +
+ + + @if($breadcrumb) + + @endif + +
+

+ {{ $title }} +

+ + @if($subtitle) +

+ {{ $subtitle }} +

+ @endif +
+
+
diff --git a/resources/views/components/bento/pricing.blade.php b/resources/views/components/bento/pricing.blade.php new file mode 100644 index 0000000..77e156e --- /dev/null +++ b/resources/views/components/bento/pricing.blade.php @@ -0,0 +1,170 @@ +
+ +
+
+ +
+ +
+
+
+ Pricing +
+

+ Simple, transparent pricing. +

+

+ Choose the plan that fits your needs. No hidden fees, no complicated contracts. + Switch or cancel anytime. +

+ + +
+ + +
+
+ + +
+ +
+
+
+

Free

+

Perfect for individuals starting out.

+
+ +
+ $0 + /mo +
+ +
    +
  • + + Up to 5 active addresses +
  • +
  • + + 24h retention period +
  • +
  • + + Standard delivery speeds +
  • +
  • + + Custom domain support +
  • +
+ + +
+
+ + +
+ +
+ +
+
+ Most Popular +
+ +
+

Pro

+

Advanced privacy for power users.

+
+ +
+ $15 + /mo +
+ +
    +
  • + + Unlimited active addresses +
  • +
  • + + 7-day retention period +
  • +
  • + + Blazing fast SMTP delivery +
  • +
  • + + Custom domain support +
  • +
  • + + API access for developers +
  • +
+ + +
+
+ + +
+
+
+

Enterprise

+

Custom solutions for organizations.

+
+ +
+ Custom +
+ +
    +
  • + + Everything in Pro +
  • +
  • + + SLA-backed uptime +
  • +
  • + + Dedicated support manager +
  • +
  • + + Custom security audits +
  • +
+ + +
+
+
+
+
diff --git a/resources/views/components/bento/steps.blade.php b/resources/views/components/bento/steps.blade.php new file mode 100644 index 0000000..829792a --- /dev/null +++ b/resources/views/components/bento/steps.blade.php @@ -0,0 +1,132 @@ +
+ +
+ +
+ +
+
+
+ Process +
+

+ Three steps to total privacy. +

+

+ We've distilled complex identity protection into a seamless, + automated workflow that takes seconds to master. +

+
+ + +
+ + + + +
+
+
+ + +
+
+
01
+ + + +
+
+

Instant Generate

+

+ Click one button to mint a unique, randomized Gmail address instantly. No signups required. +

+
+ +
+
+
+
+ + +
+
+
02
+ + + +
+
+

Live Reception

+

+ Emails arrive in real-time. View attachments, links, and HTML content securely in your dashboard. +

+
+ +
+
+
+
+ + +
+
+
03
+ + + +
+
+

Self Destruction

+

+ After 24 hours, all data is purged from our servers forever. No digital footprint left behind. +

+
+
+
+
Wiping Data...
+
+
+
+
+ + +
diff --git a/resources/views/components/bento/testimonials.blade.php b/resources/views/components/bento/testimonials.blade.php new file mode 100644 index 0000000..5e77de6 --- /dev/null +++ b/resources/views/components/bento/testimonials.blade.php @@ -0,0 +1,151 @@ +
+ +
+ +
+ +
+
+ + + + Wall of Love +
+

+ Trusted by thousands of devs. +

+

+ Join the community of privacy-first developers, QA testers, and power users who rely on Imail every day. +

+
+ + +
+ +
+
+
+ Alex Rivers +
+
+

Alex Rivers

+

Security Researcher

+
+
+

+ "Imail is my go-to for checking transactional emails on our staging environment. The attachments scanning gives me peace of mind when testing file delivery systems." +

+
+ @for($i=0; $i<5; $i++) + + @endfor +
+
+ + +
+
+
+ Sarah Chen +
+
+

Sarah Chen

+

Full-stack Engineer

+
+
+

+ "Setting up the API for our automated test suite took minutes. We can now spin up unique addresses for every CI/CD run. Truly a game-changer for our QA flow." +

+
+ @for($i=0; $i<5; $i++) + + @endfor +
+
+ + +
+
+
+ Marco V +
+
+

Marco V.

+

Privacy Advocate

+
+
+

+ "I love that I can have addresses on real Gmail nodes. It makes signing up for newsletters and trials so much smoother as they never get blocked by standard heuristics." +

+
+ @for($i=0; $i<5; $i++) + + @endfor +
+
+ + +
+
+
+ James Wynn +
+
+

James Wynn

+

Head of QA at DevCo

+
+
+

+ "The Premium Domains feature is worth every penny. Being able to use our internal domain for staging tests while keeping the emails temporary and private is exactly what we needed." +

+
+ @for($i=0; $i<5; $i++) + + @endfor +
+
+ + +
+
+
+ Lila K +
+
+

Lila K.

+

Independent Developer

+
+
+

+ "I love the clean UI. No cluttered ads, just my inbox and the emails I need. The auto-delete feature is perfect for someone like me who forgets to clear their test data." +

+
+ @for($i=0; $i<5; $i++) + + @endfor +
+
+ + +
+
+
+ David L +
+
+

David L.

+

Platform Architect

+
+
+

+ "Reliability is key for our automation suite, and Imail hasn't let us down. The speed of reception is nearly identical to our production Gmail setup." +

+
+ @for($i=0; $i<5; $i++) + + @endfor +
+
+
+
+
diff --git a/resources/views/components/layouts/marketing.blade.php b/resources/views/components/layouts/marketing.blade.php new file mode 100644 index 0000000..a61469a --- /dev/null +++ b/resources/views/components/layouts/marketing.blade.php @@ -0,0 +1,56 @@ + + + + + + {{ $title ?? 'Imail — Instant Disposable Gmail & Temporary Email' }} + + + + + + + + + + @vite(['resources/css/app.css', 'resources/js/app.js']) + + + + + + + + + + {{ $slot }} + + diff --git a/resources/views/livewire/landing-page.blade.php b/resources/views/livewire/landing-page.blade.php new file mode 100644 index 0000000..ce3809a --- /dev/null +++ b/resources/views/livewire/landing-page.blade.php @@ -0,0 +1,424 @@ +
+ + + + + + + + + + +
+
+ + + + _ + +
+
+ + Auto-delete: 24h +
+
+
+ + + + + + + + + +
+ +
+ +import imail +def test_signup(): + inbox = imail.create_inbox() + requests.post('/register', json={ + 'email': inbox.address + }) + msg = inbox.wait_for_email() + assert "Verify" in msg.subject + +
+ + +
+ +<?php +use Imail\Client; + +// Initialize instant client +$imail = new Client('sk_test_...'); +$inbox = $imail->createInbox(); + +$msg = $inbox->waitForEmail(); +assert(str_contains($msg->subject, 'Welcome')); + +
+ + +
+ +# Create a new inbox via REST API +curl -X POST https://api.imail.com/v1/inbox \ + -H "Authorization: Bearer $API_TOKEN" + +# Listen for instant callbacks +curl https://api.imail.com/v1/inbox/$ID/events \ + -H "Accept: text/event-stream" + +
+
+
+ + + + +
+ + + +
+
+ + +
+
+
+ + Ready +
+
+
+ + + + +
+ + + +
+
+ + +
+
+
+ + + +
+ + Premium +
+
+
+
+
+ + + + +
+ + + +
+
+ +
+ +
+ +
+
+ + +
+
+
+
+
+ + +
+
+
+ + +
+
+ Protocol + WSS://STREAM +
+
+ Latency + +
+
+
+ + +
+ + + + +
+ + + +
+
+ +
+
+ + +
+ +
+
+ + + +
+
+
+
contract_summary.pdf
+ Verified +
+
+
+
+ + + +
+
+
+
+ + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
diff --git a/resources/views/livewire/privacy-policy.blade.php b/resources/views/livewire/privacy-policy.blade.php new file mode 100644 index 0000000..16da4e5 --- /dev/null +++ b/resources/views/livewire/privacy-policy.blade.php @@ -0,0 +1,36 @@ + + + + diff --git a/routes/web.php b/routes/web.php index d357b6d..c990de9 100644 --- a/routes/web.php +++ b/routes/web.php @@ -7,7 +7,8 @@ use App\Livewire\Settings\TwoFactor; use Illuminate\Support\Facades\Route; use Laravel\Fortify\Features; -Route::get('/', fn(): \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory => view('welcome'))->name('home'); +Route::get('/', \App\Livewire\LandingPage::class)->name('home'); +Route::get('/privacy-policy', \App\Livewire\PrivacyPolicy::class)->name('privacy'); Route::view('dashboard', 'dashboard') ->middleware(['auth', 'verified']) diff --git a/tests/Feature/LandingPageTest.php b/tests/Feature/LandingPageTest.php new file mode 100644 index 0000000..cc1c0c7 --- /dev/null +++ b/tests/Feature/LandingPageTest.php @@ -0,0 +1,15 @@ +get('/') + ->assertOk() + ->assertSeeLivewire(LandingPage::class); +}); + +it('can render the landing page view', function () { + Livewire::test(LandingPage::class) + ->assertStatus(200); +});