Якщо вам потрібно перевірити, чи є імейл реальним, активним або безпечним для використання, вбудованих правил валідації Laravel може бути недостатньо.
Сьогодні ми покажемо вам, як крок за кроком виконувати перевірку імейлів у Laravel: від використання методу перевірки до створення кастомних правил валідації. Але якщо ви шукаєте простіший спосіб, який перевіряє більше, ніж просто формат, ви також знайдете кращу альтернативу, яка виключить недійсні, фейкові або ризиковані імейли з вашого списку.
Як виконати перевірку email-адреси в Laravel?

Laravel надає вбудовані правила перевірки електронної пошти, а також можливість створювати власні правила перевірки відповідно до конкретних потреб. Ми розповімо вам про налаштування валідації email-адрес у Laravel, обробку помилок валідації та реалізацію валідації DNS і RFC.
#1 Перевірка email-адреси в Laravel за допомогою методу валідації
Метод валідації Laravel, доступний у класі Illuminate\Http\Request, дозволяє легко перевіряти вхідні HTTP-запити. Наступний приклад демонструє основні правила перевірки електронної пошти в методі контролера.

Що роблять ці правила:
- required – Поле не може бути порожнім.
- email:rfc,dns – Перевіряє, чи відповідає електронна пошта стандартам RFC, і перевіряє домен за допомогою записів DNS.
Якщо валідація не пройшла, Laravel автоматично перенаправляє користувачів і показує повідомлення про помилки в сеансі.
#2 Використання валідації запиту на форму для чистішого коду
Клас запиту форми допомагає відокремити логіку валідації від контролера. Запустіть цю команду:

Потім оновіть новий клас всередині app/Http/Requests/:

Тепер оновіть ваш контролер, щоб використовувати його:

Такий підхід робить ваш код чистішим і придатним для повторного використання.
#3 Налаштування повідомлень про помилки валідації
Laravel має стандартні повідомлення про помилки, але ви можете налаштувати їх у resources/lang/en/validation.php:

Або всередині вашого класу запиту до форми:

#4 Створення кастомних правил перевірки імейлів
Якщо вам потрібно щось більш просунуте, створіть власне правило перевірки:

Оновіть app/Rules/ValidEmail.php:

Застосуйте його всередині контролера:

Це дозволяє налаштовувати обробку помилок і розширену перевірку.
#5 Обробка помилок валідації
Якщо перевірка не вдається, Laravel автоматично повертає помилки. Щоб показати повідомлення у Blade:

На запити API Laravel надсилає відповідь 422 з помилками:

#6 Розширена перевірка електронної пошти: DNS та MX-записи
Щоб перевірити домен імейлу, скористайтеся перевіркою DNS:

- rfc – гарантує, що імейл відповідає RFC 5322.
- dns – Перевіряє, чи має домен MX-записи (тобто чи може він отримувати електронні листи).
Для користувацької перевірки DNS створіть правило:

Оновіть app/Rules/DnsValidator.php:

Застосуйте його всередині контролера:

#7 Перевірка електронної пошти в запитах JSON API
Для запитів до API повертайте JSON-відповіді замість перенаправлень:

Laravel автоматично повертається:

Обробляти валідацію вручну:

Чому валідація листів за допомогою Laravel не ідеальна?
Перевірка email-адрес у Laravel має свої обмеження. Вона лише перевіряє, чи відповідає імейл правильному формату, але не перевіряє, чи є імейл реальним, активним або безпечним для використання. Ось чому покладатися виключно на вбудовані правила перевірки Laravel може бути не найкращим вибором.
Перевіряється лише формат адреси
Метод валідації, який пропонує Laravel, гарантує, що імейл виглядає коректно, але не підтверджує, чи існує адреса. Правила валідації зосереджені на структурі, а не на доставці. Це означає, що недійсні листи, друкарські помилки або навіть фейкові адреси все одно можуть пройти.
Він не поширюється на універсальні адреси або пастки для спаму
Метод перевірки Laravel не виявляє універсальні адреси, які приймають всі вхідні повідомлення – валідні чи ні. Він також не може відфільтрувати спам-пастки, які використовують поштові провайдери, щоб відловлювати відправників, які використовують застарілі або куплені списки. Без цих перевірок ваш список електронної пошти може поповнитися ризикованими адресами.
Для його реалізації потрібні знання з програмування
Налаштування валідації імейлів Laravel вимагає роботи з PHP-файлом, використання структури додатків у просторі імен PHP і написання власних правил валідації. Якщо ви не знайомі з синтаксисом Laravel, застосування правил валідації може бути складним завданням. Користувацькі повідомлення про помилки також потрібно налаштовувати вручну за допомогою методу валідації.
Це неможливо автоматизувати
Laravel не має вбудованої автоматизації для валідації імейлів, окрім заповнення форм. Вам доведеться інтегрувати зовнішні API або написати власні правила валідації для динамічної перевірки імейлів. Навіть за наявності кастомної системи повідомлень про помилки ручна обробка помилок валідації може сповільнити розробку.
Краща альтернатива валідації листів за допомогою Laravel
Хоча правила перевірки імейлів у Laravel допомагають з базовою перевіркою формату, їх недостатньо для підтримки чистоти та надійності списку. Щоб перевірити валідність імейлу, скористайтеся інструментом, який гарантує, що ваші імейли дійдуть до реальних користувачів без ризику повернення або потрапляння в спам-пастки.
Bouncer – чудове рішення для цього.

Як Bouncer перевіряє імейли:
Ви можете завантажити свій список адрес електронної пошти і дозволити Bouncer зробити все інше:
- Перевірка синтаксису та формату – гарантує, що лист відповідає належній структурі (наприклад, name@example.com).
- Перевірка домену та MX-записів – перевіряє, чи існує домен і чи налаштовані поштові сервери на отримання листів.
- Перевірка SMTP – Bouncer з’єднується з поштовим сервером одержувача (без надсилання листа), щоб перевірити, чи існує вхідна скринька і чи можна отримувати повідомлення.
- Виявлення всеохоплюючих і спам-пасток – виявляє ризиковані домени, які приймають всі листи (навіть недійсні) або відловлюють відправників спаму.
- Перевірка токсичності – позначає потенційно шкідливі листи, такі як одноразові, тимчасові або відомі шахрайські адреси.
Bouncer: на що не поширюється перевірка email-адрес у Laravel
Bouncer пропонує те, чого не роблять вбудовані правила валідації Laravel – справжню перевірку, яка виходить за рамки простої перевірки формату.
Bouncer підтверджує, що електронна пошта дійсна
Додатки Laravel покладаються на синтаксичну перевірку. Метод перевірки, що надається Laravel, перевіряє лише те, чи відповідає лист правильній структурі. Він не перевіряє, чи існує папка “Вхідні” і чи можна отримати імейл. З іншого боку, Bouncer перевіряє дійсні адреси електронної пошти, з’єднуючись з поштовими серверами і гарантуючи, що кожна адреса дійсно активна.
Він відловлює недійсні, шкідливі та токсичні імейли
Оновлення версії Laravel покращили перевірку імейлів, але вони все ще не виявляють спам-пастки, шахрайські адреси та домени загального користування. Функція Bouncer Shield від Bouncer миттєво блокує недійсні та шкідливі листи, захищаючи ваш список від ризикованих контактів, які можуть зашкодити репутації відправника.
Автоматизована перевірка без кодування
Написання кастомного правила перевірки у PHP-файлі означає ручне налаштування логіки, обробку помилок перевірки та визначення кастомних повідомлень про помилки. Bouncer усуває цю додаткову роботу за допомогою простої у використанні платформи та API, роблячи масову перевірку імейлів простою – ніякого ручного кодування не потрібно.
Перевірки за межами формату з аналізом результативності
Хоча правила валідації Laravel можуть відмічати відсутні символи “@”, вони не дають уявлення про те, наскільки ефективно ви можете доставити імейл. Bouncer надає Deliverability Kit, який тестує розміщення імейлів у поштових скриньках, перевіряє автентифікацію електронної пошти та відстежує чорні списки, щоб гарантувати, що ваші повідомлення дійдуть до реальних користувачів.
Масова перевірка та перевірка в режимі реального часу для кращої точності
Додатки Laravel обробляють по одному імейлу за раз, використовуючи методи перевірки в контролерах. Однак Bouncer підтримує масову перевірку, дозволяючи очищати тисячі адрес за один запит. Його API в режимі реального часу забезпечує миттєву перевірку нових імейлів, запобігаючи недійсним реєстраціям і зменшуючи показник відмов.
👉 Перевірте, як перевірити адресу електронної пошти крок за кроком, без кодування.
Чому варто вибрати Bouncer замість валідації Laravel?
- Метод валідації Laravel гарантує, що імейл виглядає валідним. Bouncer підтверджує, що він дійсно працює.
- Для розширених перевірок Laravel вимагає користувацьких правил валідації. Bouncer робить це автоматично.
- Laravel не блокує спам-пастки, загальні та токсичні листи. А Bouncer блокує.
- Для реалізації валідації Laravel потребує знань кодування. Bouncer не є дружнім до коду.
- Laravel не перевіряє доставленість. Bouncer покращує розміщення імейлів за допомогою реальних інсайтів.
Для компаній, які покладаються на чисті, дійсні адреси електронної пошти, Bouncer може бути кращим вибором. Вона гарантує, що ваші листи потраплятимуть до потрібних поштових скриньок – технічно дійсних і доставлених.
Висновок
Перш ніж вирішити використовувати перевірку email-адрес Laravel, ви повинні знати, що вона не підтверджує, чи працює адреса електронної пошти. Вона не відловлює підроблені імейли, спам-пастки або ризиковані адреси, які можуть зашкодити вашій репутації відправника. Крім того, налаштування користувацьких правил валідації вимагає знань з програмування, і навіть тоді Laravel не буде перевіряти валідні адреси, які не мають базового форматування.
Bouncer може бути кращою альтернативою. Він перевіряє реальні імейли, блокує спам-пастки та автоматизує весь процес – без необхідності кодування. Незалежно від того, чи потрібна вам масова перевірка або перевірка в режимі реального часу, Bouncer гарантує, що ваші імейли потраплять до реальних вхідних скриньок, а не в глухий кут.
Не просто перевіряйте, чи правильно виглядає імейл – переконайтеся, що він працює. Спробуйте Bouncer сьогодні з безкоштовними кредитами.

