arrow_back Back to Tickets

Ticket #e24063

open

Problem

zfrika email bounce problem integrate a service like Hunter.io, ZeroBounce, or NeverBounce. users are entering bogus emails in the signup that affect that is causing bounce. can I had code to catch this problem before it sends out an email to a bogus email

Creator

Marcus

Priority

1

Urgent

urgent

Important

important

Project Name

zfrika

Notes

Yes, this is a very common problem. People often enter "test@test.com" or "abc@123.com" to bypass signups. High bounce rates from these bogus emails can damage your SendGrid reputation and cause Gmail to block your legitimate emails. You can stop this at the "Front Door" (your signup form) using three levels of validation. Level 1: Syntax Validation (The Basics) Ensure the email actually looks like an email (e.g., has an @ and a .). This stops "abcde" or "12345". The Code (JavaScript): JavaScript const validateEmail = (email) => { return String(email) .toLowerCase() .match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/); }; Level 2: Block "Disposable" and "Common Bogus" Domains You can create a "Blacklist" of domains that are frequently used for fake accounts. The Code (Node.js/Backend): JavaScript const blockedDomains = ['test.com', 'example.com', 'mailinator.com', '10minutemail.com', 'tempmail.org', 'abc.com']; const isBogus = (email) => { const domain = email.split('@')[1]; return blockedDomains.includes(domain); }; if (isBogus(userEmail)) { return res.status(400).send("Please use a valid personal or professional email."); } Level 3: Email Verification APIs (The "Pro" Way) If you want to stop people from typing jskhdfgksjdhf@gmail.com (a real domain but a fake user), you need to check if the mailbox actually exists. You can integrate a service like Hunter.io, ZeroBounce, or NeverBounce. They have APIs that you call before you save the user to your database. How it works in your code: User clicks "Sign Up." Your server sends the email to the Verification API. The API returns: deliverable, undeliverable, or risky. You only allow deliverable to proceed. Level 4: The "Double Opt-In" Strategy This is the most effective way to keep your list clean. User signs up. You save them as status: "pending" in your database. Do not send your main marketing blast yet. Send a single "Confirm your email" link via SendGrid. Only move them to your "active" list once they click that link. Why this helps you: If the email is bogus, it bounces on the confirmation email, which is one single send. This prevents that bogus email from being part of your 1,000+ person marketing blasts, which is where the real reputation damage happens. Marcus's Implementation Plan: Add a "Pattern" attribute to your HTML input: <input type="email" required pattern="[^@\s]+@[^@\s]+\.[^@\s]+" title="Invalid email address">. Add the Blocklist in your Node.js backend for test.com and example.com. Check your SendGrid Dashboard: SendGrid actually has a "Validation API" you can use to check if an email is real before you add it to a list.

Ticket Information

Ticket ID: 695f1beadf2473a6c8e24063
Date Initiated: 1/8/2026, 2:50:00 AM
Status: open
Urgent: urgent
Important: important
Created: 1/7/2026, 6:52:26 PM
Last Updated: 1/13/2026, 10:07:08 PM