Як зробити валідацію імейлів у Python за 3 простих кроки

Бер 5, 2024
7

Перевірка електронної пошти - це швидкий і простий спосіб підтримувати ваші оголошення в чистоті.

валідація електронної пошти на Python - фото на обкладинці

Він відфільтровує старі, спам і листи з помилками, щоб зробити ваш список ефективним і безпроблемним.

Але як перевірити адресу електронної пошти в Python?

Ось підручник з кодами, які ви можете скопіювати та вставити.

⬇️ Бракує часу? Дивіться найкоротший шлях в кінці! 

Зміст

Спосіб 1: використання регулярного виразу

Регулярний вираз (також відомий як regex в Python) - це потужний інструмент в арсеналі будь-якого програміста для маніпулювання та перевірки рядків електронної адреси. Модуль re в Python забезпечує повну підтримку Perl-подібних регулярних виразів.

1. Імпортуйте модуль re

Встановіть ре-модуль, який вбудовано в Python, тому немає необхідності в додатковому встановленні. Просто додайте наступний рядок на початку вашого скрипта.

валідація електронної пошти на Python - фрагмент коду

2. Визначте регулярний вираз для перевірки імейлів

Далі визначте шаблон регулярного виразу, який відповідає типовій адресі електронної пошти.
 

валідація електронної пошти на Python - фрагмент коду

Цей шаблон перевіряє на:

  • Послідовність алфавітно-цифрових символів, крапок, підкреслень, відсотків і знаків плюс (локальна частина листа).
  • Символ @.
  • Доменне ім'я, що складається з буквено-цифрових символів і крапок.
  • Домен верхнього рівня довжиною від 2 до 7 літерних символів.

3. Розробити алгоритм валідації адрес електронної пошти

Напишіть допоміжну функцію з іменем "перевірка", який використовує "re.fullmatch" команду. Вона порівнює весь рядок адреси електронної пошти з вашим шаблоном регексу.
 

валідація електронної пошти на Python - фрагмент коду

4. Перевірте роботу

Нарешті, протестуйте свій скрипт з різними імейлами, щоб побачити його в дії.
 

валідація електронної пошти на Python - фрагмент коду

Зверніть увагу на такі обмеження регулярних виразів

Регулярні вирази можуть мати проблеми з цим:

  • Складні локальні частини - Локальна частина адреси електронної пошти (перед символом @) може містити різноманітні символи та шаблони, які важко точно відобразити за допомогою шаблону регексу.
  • Перевірка домену - Шаблони регексу також можуть мати труднощі з перевіркою дійсності доменної частини адреси електронної пошти (після символу @).
  • Інтернаціоналізовані адреси електронної пошти - Це може призвести до помилкових результатів при обробці доменів, написаних нелатинськими літерами або зі спеціальними символами (які стають все більш поширеними).

Спосіб 2: перевірка з текстового файлу

У реальних сценаріях вам, ймовірно, потрібно валідувати більше імейлів а не лише декілька. У цьому контексті перевірка масових імейлів з файлу має сенс.

1. Читання листів з текстового файлу

По-перше, вам потрібно прочитати адреси електронної пошти з текстового файлу. Припустимо, у вас є файл з назвою emails.txtде кожен рядок містить адресу електронної пошти.
 

валідація електронної пошти на Python - фрагмент коду

 
Цей скрипт відкриває файл, читає кожен рядок (кожен лист) і повертає список листів, видаляючи при цьому зайві пробіли.

2. Використовуйте функцію валідації електронної пошти

Використання re.search для перевірки імейлів. Код буде перевіряти кожен імейл, прочитаний з файлу.
 

валідація електронної пошти на Python - фрагмент коду

3. Перевірка імейлів зі списку

Тепер настав час переглянути список імейлів і перевірити кожен з них за допомогою validate_email функцію.
 

валідація електронної пошти на Python - фрагмент коду

Наведений вище код класифікує імейли на валідні та невалідні списки і чітко показує, які імейли пройшли перевірку на валідність.

4. Тестування кодування

Щоб протестувати процес, створіть файл з ім'ям emails.txt і заповніть його різними адресами електронної пошти (як істинними, так і хибними). Запустіть скрипт, щоб побачити, як він класифікує кожен імейл.

Спосіб 3: використання email_validator

На сьогоднішній день, на жаль, це не так. email_validator бібліотека перевіряє відповідність рядка формату електронної пошти "[email protected]", наприклад, при введенні електронної пошти у формах для входу на сайті. Вона надає зручні сповіщення про помилки у випадках, коли перевірка не пройшла успішно.

На відміну від регулярних виразів, email_validator виконує ретельну перевірку структури адреси, валідності домену та загальної цілісності.

1. Встановіть бібліотеку email_validator

Встановіть бібліотеку за допомогою pip - програми для встановлення пакунків Python. Запустіть наступну команду у вашому терміналі або командному рядку.
 

валідація електронної пошти на Python - фрагмент коду

2. Використовуйте email_validator

Почніть з імпорту необхідних функцій з бібліотеки email_validator.
 

валідація електронної пошти на Python - фрагмент коду

3. Створіть алгоритм

Додайте бібліотеку до свого скрипта на Python і використовуйте її для перевірки адреси електронної пошти.
 

валідація електронної пошти на Python - фрагмент коду

4. Перевірте це

валідація електронної пошти на Python - фрагмент коду

 
Якщо помилка допустима, він повертає звичайну форму електронного листа. Якщо невірно, він надає чіткий, зрозумілий для людини текст помилки.

Спосіб 4: використання re.match

Методи Re.match використовують регекс Python для перевірки зовнішнього вигляду адрес електронної пошти. Він перевіряє ім'я користувача та доменне ім'я - і переконується, що адреса містить всі необхідні елементи, такі як символ @.

Зверніть увагу: алгоритм розпізнає малі літери, цифри та спеціальні символи. Але він не може визначити, чи існує адреса електронної пошти та чи працює домен.

1. Додайте модуль re

Почніть з повторного імпорту "re".
 

валідація електронної пошти на Python - фрагмент коду

2. Визначте шаблон regex для електронної пошти

Визначте шаблон для правильної адреси електронної пошти. Базовий шаблон включає контрольні символи для локальної частини листа, символ @ і символи для доменних імен. Ось простий, але ефективний шаблон regex для перевірки імейлів.
 

валідація електронної пошти на Python - фрагмент коду

 
Цей шаблон гарантує, що формат адреси електронної пошти починається з алфавітно-цифрових символів (включаючи крапки, підкреслення і відсотки), за якими слідує символ @, і закінчується доменним ім'ям.

3. Підтвердіть електронну пошту

Нарешті, використовуйте re.match() щоб перевірити, чи відповідає адреса електронної пошти шаблону.
 

валідація електронної пошти на Python - фрагмент коду

 
Він поверне "Valid Email", якщо вхідні дані відповідають шаблону, і помилку в протилежному випадку.

4. Перевірте це

Щоб ретельно протестувати скрипти і перевірити, чи не повертають вони помилкові результати, спробуйте їх з різними імейлами.
 

валідація електронної пошти на Python - фрагмент коду

Простіший спосіб валідації імейлів

Ви коли-небудь хотіли підтверджувати імейли без кодування?

Вишибала заповнює цю прогалину.

Це простий у використанні інструмент який допоможе вам очистити список розсилки лише кількома кліками (буквально кількома!).

Крім того, він може перевіряти задані адреси електронної пошти, розміщені на різних поштових серверах (включаючи глибоку перевірку Google Workspace і Office365).

Як це зробити?

Крок 1: Імпортуйте список розсилки

Почати легко. Зареєструватисястворіть обліковий запис користувача і просто завантажте свій список адрес до Bouncer.

Це може бути файл CSV, TXT з вашого комп'ютера або електронна таблиця.
 

валідація електронної пошти в Bouncer

 
Альтернатива: якщо ви шукаєте ще більше зручності, Bouncer може бути
інтегрований безпосередньо з інструментами, які ви вже використовуєте. Це означає, що ви можете перевіряти email-адреси в режимі реального часу і легко інтегрувати Bouncer в існуючий робочий процес.

Крок 2: Почніть перевірку

Завантаживши список, натисніть кнопку "Підтвердити". Bouncer швидко переглядає ваші імейли і знаходить ті, які можуть спричинити проблеми.
 

валідація імейлів за допомогою Bouncer

 
Існує
не потрібно відстежувати процес і витрачати на це час. Це робота вишибали.

Щойно ваш список буде перевірено, Bouncer надішле вам сповіщення на електронну пошту, щоб ви могли негайно вжити необхідних заходів для підвищення ефективності ваших розсилок.

➡️ Детально про процес валідації електронної пошти дивіться тут: Як перевірити, чи дійсна адреса електронної пошти

Крок 3: Отримайте результати за лічені хвилини

Принадність Bouncer полягає в його швидкості та ефективності (навіть 200 000 імейлів на годину!).

Миттєво ваш список адрес буде перевірено. Вам не доведеться довго чекати на результати.

Таке швидке виконання замовлення ідеально підходить для компаній і приватних осіб, які цінують час і ефективність.
 

Результати перевірки email-адрес у Bouncer

 
Які результати ви отримаєте? Кінцевий результат буде поділено на чотири основні категорії - досяжний, ризикований, недосяжний і невідомий (зазвичай дуже низький - 0,3-3%).

Таким чином, ви зможете швидко видаляти небажані імейли, які негативно впливають на репутацію вашого відправника.

Зрештою, давайте поговоримо про гроші.

Bouncer надає вам 100 кредитів безкоштовно - чудовий спосіб промацати ґрунт під ногами. Після цього у вас є варіанти: платити по мірі використання або вибрати тарифний план, який відповідає вашим потребам.

Bouncer допомагає вашим листам доходити до людей. Не кажучи вже про те, що це набагато простіше, ніж намагатися освоїти Python. З огляду на час і головний біль, який він економить, це розумна інвестиція, яка окупиться сторицею.
 

CTA для вишибали

Дійсні адреси електронної пошти без використання програмного коду

Без сумніву, освоїти Python для валідації імейлів дуже корисно. Але це не найпростіший шлях для всіх. Крива навчання може бути крутою, і не у всіх є час або ресурси, щоб копатися в кодах і скриптах.

Уявіть собі Bouncer як просту кнопку для підтвердження того, що ваші імейли доставлено вчасно. Без жодного коду. Дайте "Вишибалі" шанс. - це розумний крок для безпроблемної перевірки електронної пошти.

Лінії та крапки