Weryfikacja adresu e-mail

Jedno pole, by ocenić adres.

Wyślij jeden adres i otrzymaj jeden werdykt: valid, neutral, risky, undeliverable lub typo. Wraz z nim wskaźnik pewności od 0 do 100, flagi określające rodzaj adresu oraz adres, który błąd w pisowni prawdopodobnie miał oznaczać. Jedno zapytanie, bez listy do wgrywania i bez zadania do odpytywania.

email.ts
200
const answer = await bird.lookup.email({
  email: "aisha.khan@exampel.com",
});

console.log(answer.result, answer.delivery_confidence);
// → "typo" 31
console.log(answer.did_you_mean);
// → "aisha.khan@example.com"
console.log(answer.valid, answer.flags);
// → true []

Werdykt, na którym można oprzeć logikę.

Nie procent, dla którego trzeba ustalać próg.

Weryfikacja adresu e-mail to jedna z dwóch operacji w Bird Lookup API. Polem, pod które warto pisać logikę, jest result, ponieważ sprowadza ono kontrolę składni, domeny, skrzynki i reputacji do pięciu wyników. delivery_confidence jest na wypadek, gdy chcesz oceniać, a nie blokować — na przykład wstrzymać ryzykowną rejestrację do weryfikacji zamiast ją odrzucać. Wysłany adres wraca bez zmian: część lokalna jest rozróżniana wielkością liter i nie jest zamieniana na małe litery, a forma z display-name jest odrzucana zamiast parsowana.

Sześć pól i do czego każde służy.

Wszystkie przychodzą w ramach tego samego pojedynczego zapytania.

  1. 01

    result — werdykt.

    valid — bezpieczny do wysyłki. neutral — dostarczalny, ale bez szczególnych zalet. risky — prawdopodobnie przyjmie pocztę, ale jest powód do ostrożności. undeliverable — nie może odbierać poczty. typo — wygląda na błąd w pisowni prawdziwego adresu.

  2. 02

    reason — tylko tam, gdzie ma zastosowanie.

    invalid_syntax, invalid_domain lub invalid_recipient — wskazuje, którą z trzech kontroli adres nie przeszedł. Występuje przy werdykcie undeliverable i przy żadnym innym, więc jego brak też niesie informację.

  3. 03

    did_you_mean — korekta.

    Adres, którego błąd w pisowni prawdopodobnie dotyczył, gotowy do pokazania osobie, która go wpisała. Formularz rejestracji oferujący korektę odzyskuje konto, zamiast tracić je przez zwrotkę, której nikt nie zobaczy.

  4. 04

    delivery_confidence — od 0 do 100.

    Ocena, a nie decyzja — i to odróżnia go od result. Dwa adresy mogą mieć ten sam werdykt, a dzielić je duża różnica w tej wartości — i właśnie w tej luce jest miejsce na kolejkę do weryfikacji.

  5. 05

    flags — rodzaj adresu.

    role dla współdzielonej skrzynki, takiej jak info czy support, disposable dla dostawcy jednorazowych adresów, a free_provider dla skrzynki konsumenckiej. Wszystkie trzy to poprawnie sformatowane adresy przyjmujące pocztę — dlatego są flagami, a nie werdyktami.

  6. 06

    valid — ścisła wartość logiczna.

    Czy adres jest poprawnie sformatowany i czy jego domena w ogóle może odbierać pocztę. Nie mówi nic o skrzynce, więc jest true dla wielu adresów z werdyktem risky. Gdy chodzi o werdykt, odczytuj result.

Pięć wyników, cztery działania.

Odrzuć niedostarczalne, zaproponuj korektę przy literówce, wstrzymaj ryzykowny adres do weryfikacji i zaakceptuj resztę. To cała integracja — mieści się w obsłudze wysyłki formularza zbierającego adres.

verdicts.ts
200
const answer = await bird.lookup.email({
  email: "info@example.com",
});

if (answer.result === "undeliverable") {
  // reason is present on this verdict and no other.
  reject(answer.reason);
} else if (answer.result === "typo") {
  suggest(answer.did_you_mean);
} else if (answer.result === "risky") {
  // A role or disposable address is well formed and still a poor signup.
  review(answer.flags);
} else {
  accept(answer.delivery_confidence);
}

Ile to kosztuje i czym to nie jest.

Jeden adres na zapytanie, a każdy werdykt jest rozliczany — w tym undeliverable — ponieważ dojście do tego werdyktu to właśnie praca. Nie ma trybu wsadowego ani wgrywania list. Ponowienie z tym samym Idempotency-Key odtwarza werdykt, za który już zapłacono. Lookup to też nie lista suppressji: mówi, jak wygląda adres przed wysyłką, podczas gdy suppresja rejestruje, co się stało po niej — a zdrowa konfiguracja wysyłki korzysta z obu.

Zagłęb się w dokumentacji.

Weryfikacja adresu e-mail omawia zapytanie i każde pole w odpowiedzi. Przegląd Lookup obejmuje obie operacje na jednej stronie, limity zapytań dokumentują grupę lookup, a idempotentność wyjaśnia, ile kosztuje powtórzony werdykt.

Pytania o adresy e-mail — z odpowiedziami.

Werdykty, flagi, wskaźnik pewności i miejsce suppresji.

Co zwraca wyszukiwanie adresu e-mail?
Czy adres przyjmie pocztę. Jedno wywołanie zwraca werdykt w result, ocenę delivery_confidence, flagi opisujące rodzaj adresu oraz korektę, gdy adres wygląda na literówkę.
Jakie jest pięć werdyktów?
valid oznacza, że adres istnieje i przyjmuje pocztę — można wysyłać. neutral oznacza, że nie udało się tego potwierdzić w żadną stronę, zwykle dlatego, że domena odbierająca odpowiada tak samo na każdego odbiorcę. risky oznacza, że prawdopodobnie przyjmuje pocztę, ale ma większe niż zwykle ryzyko odrzucenia lub skargi. undeliverable oznacza, że adres nie przyjmuje poczty. typo oznacza, że adres wygląda na błędnie wpisany.
Dlaczego adres jest niedostarczalny?
reason wskazuje, który z trzech problemów wystąpił: invalid_syntax w przypadku źle sformatowanego adresu, invalid_domain gdy domena w ogóle nie przyjmuje poczty, oraz invalid_recipient gdy domena przyjmuje pocztę, ale ta skrzynka nie istnieje.
Co powinienem zrobić z werdyktem typo?
Zaproponuj did_you_mean osobie, która wpisała oryginał, zamiast wysyłać na ten adres bez pytania. Korekta to zgadywanie, a zamierzony adres może nie być żadnym z nich.
Czym delivery_confidence różni się od result?
Przyjmuje wartości od 0, czyli pewność niedostarczenia, do 100, czyli pewność dostarczenia. Ten sam wynik może znajdować się pod różnymi werdyktami z różnych powodów, więc czytaj go razem z result, a nie zamiast niego. To pole, na którym warto się oprzeć, gdy potrzebujesz jednego progu dla wszystkich werdyktów, w tym tych dodanych w przyszłości.
Jest też pole valid. Czy to werdykt valid?
Nie, i ta różnica ma znaczenie. Pole valid jest węższe: mówi, czy adres jest poprawnie sformatowany i czy jego domena jest skonfigurowana do odbioru poczty. Nie mówi nic o skrzynce, więc adres z działającą domeną, ale nieistniejącą skrzynką będzie miał tam wartość true, a w result — undeliverable.
Co oznaczają flagi?
role oznacza, że adres wskazuje funkcję, a nie osobę, np. support@ lub info@, więc odpowiedzi i zgody są niejednoznaczne, a skargi bardziej prawdopodobne. disposable oznacza dostawcę jednorazowych adresów, więc adres zwykle przestanie istnieć. free_provider oznacza konsumencką usługę pocztową, np. Gmail czy Outlook.com, co jest sygnałem tylko wtedy, gdy oczekiwano adresu firmowego.
Jak powinien wyglądać format adresu?
Wyślij sam adres, dokładnie tak, jak go przechowujesz. Format z nazwą wyświetlaną — z imieniem z przodu i adresem w nawiasach kątowych — jest odrzucany zamiast rozpakowywany, ponieważ rozpakowanie oznaczałoby wyszukanie adresu, którego nie wysłałeś. Część przed znakiem @ jest przekazywana bez zmian, a zmiana wielkości liter może zmienić zwracany wynik delivery_confidence.
Czy potrzebuję Lookup, żeby przestać wysyłać na adresy, które już odbiły?
Nie. Supresy robią to automatycznie i bezpłatnie w przypadku adresów, które już odbiły lub zgłosiły skargę. Użyj Lookup dla adresów, na które jeszcze nie wysyłałeś — przy rejestracji lub zanim zaczniesz działać na podstawie leada.

Zastosuj w praktyce.

Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.

Uzyskaj brief wdrożeniowy

Zweryfikuj adres, zanim trafi na Twoją listę.

Jedno wywołanie w obsłudze rejestracji eliminuje z bazy danych odbicia, konta jednorazowe i literówki.

Zacznij od jednego kanału.
Dodaj kolejne, gdy będziesz gotowy.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i weryfikacji nadawcy.

Używasz Claude Code, Cursor lub Codex? Skopiuj prompt konfiguracyjny, a Twój agent zainstaluje za Ciebie Bird CLI i umiejętności. Wybierz swój:

Cursor