간단한 3단계로 Python에서 이메일 유효성 검사를 수행하는 방법

3월 5, 2024
7

이메일 인증은 숙소를 깨끗하게 유지하는 빠르고 쉬운 방법입니다.

Python의 이메일 유효성 검사 - 표지 사진

오래된 이메일, 스팸 메일, 오타가 가득한 이메일을 필터링하여 효율적이고 문제 없는 목록을 만들어 줍니다.

그렇다면 파이썬에서 이메일 주소를 확인하는 방법은 무엇일까요?

다음은 복사하여 붙여넣을 수 있는 코드가 포함된 튜토리얼입니다.

⬇️ 시간이 부족하신가요? 마지막에 가장 빠른 방법을 확인하세요! 

방법 1: 정규식 사용

정규식(파이썬 정규식이라고도 함)은 이메일 주소의 문자열을 조작하고 유효성을 검사하기 위한 모든 프로그래머의 도구 상자에 있는 강력한 도구입니다. Python의 "re" 모듈은 Perl과 유사한 정규 표현식을 완벽하게 지원합니다.

1. re 모듈 가져오기

파이썬에 내장된 리모듈을 설치하므로 추가 설치가 필요 없습니다. 스크립트 시작 부분에 다음 줄을 추가하기만 하면 됩니다.

Python의 이메일 유효성 검사 - 코드 스니펫

2. 이메일 유효성 검사를 위한 정규식 정의

다음으로 일반적인 이메일 주소와 일치하는 정규식 패턴을 정의합니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

이 패턴은 다음을 확인합니다:

  • 영숫자, 점, 밑줄, 백분율 및 더하기 기호(이메일의 로컬 부분)의 시퀀스입니다.
  • 기호.
  • 영숫자와 점으로 구성된 도메인 이름입니다.
  • 알파벳 2~7자 길이의 최상위 도메인입니다.

3. 이메일 주소 유효성 검사 알고리즘 개발

" 라는 이름의 헬퍼 함수를 작성합니다.확인"를 사용하는 "re.fullmatch" 명령을 실행합니다. 이 명령은 전체 이메일 주소 문자열을 정규식 패턴과 비교합니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

4. 작동 테스트

마지막으로 다양한 이메일 문자열로 스크립트를 테스트하여 실제로 작동하는지 확인하세요.
 

Python의 이메일 유효성 검사 - 코드 스니펫

다음 정규식 제한 사항에 유의하세요.

정규식은 어려움을 겪을 수 있습니다:

  • 복잡한 로컬 부품 - 이메일 주소의 로컬 부분(@ 기호 앞)에는 정규식 패턴으로 정확하게 캡처하기 어려운 다양한 문자와 패턴이 포함될 수 있습니다.
  • 도메인 유효성 검사 - 정규식 패턴은 이메일 주소의 도메인 부분(@ 기호 뒤)이 유효한지 확인하는 데 어려움을 겪을 수도 있습니다.
  • 국제화된 이메일 주소 - 라틴어가 아닌 스크립트 또는 특수 문자(점점 더 일반화되고 있음)로 된 도메인을 처리할 때 잘못된 결과를 가져올 수 있습니다.

방법 2: 텍스트 파일에서 유효성 검사

실제 시나리오에서는 다음을 수행해야 할 수 있습니다. 더 많은 이메일 유효성 검사 보다 더 중요합니다. 이러한 맥락에서 파일에서 대량 이메일의 유효성을 검사하는 것은 매우 합리적입니다.

1. 텍스트 파일에서 이메일 읽기

먼저 텍스트 파일에서 이메일 주소를 읽어야 합니다. 다음과 같은 이름의 파일이 있다고 가정합니다. emails.txt를 입력하면 각 줄에 이메일 주소가 포함됩니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

 
이 스크립트는 파일을 열고 각 줄(각 이메일)을 읽은 후 이메일 목록을 반환하며 동시에 여분의 공백을 제거합니다.

2. 이메일 유효성 검사 기능 사용

사용 re.search 를 사용하여 이메일 유효성 검사를 수행합니다. 이 코드는 파일에서 읽은 각 이메일을 확인합니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

3. 목록에서 이메일 유효성 검사

이제 이메일 목록을 반복하고 각 이메일의 유효성을 검사할 차례입니다. 유효성 검사_이메일 함수입니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

위의 코드는 이메일을 유효 및 유효하지 않은 목록으로 분류하고 유효성 검사를 통과한 이메일을 명확하게 출력합니다.

4. 코딩 테스트

프로세스를 테스트하려면 emails.txt라는 파일을 만들고 다양한 이메일 주소(참과 거짓 모두)로 채웁니다. 스크립트를 실행하여 각 이메일이 어떻게 분류되는지 확인합니다.

방법 3: 이메일_검증기 사용

The 이메일_검증자 라이브러리는 웹사이트의 로그인 양식에 이메일을 입력할 때 문자열이 이메일 형식 '[email protected]'을 준수하는지 확인합니다. 유효성 검사에 실패할 경우 사용자 친화적인 오류 알림을 제공합니다.

정규식과 달리 email_validator는 이메일 주소의 구조, 도메인 유효성 및 전반적인 무결성을 철저히 검사합니다.

1. 이메일_검증기 라이브러리 설치

파이썬 패키지 설치 프로그램인 pip를 사용하여 라이브러리를 설치합니다. 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

2. 이메일_검증기 사용

email_validator 라이브러리에서 필요한 함수를 가져오는 것으로 시작하세요.
 

Python의 이메일 유효성 검사 - 코드 스니펫

3. 알고리즘 만들기

Python 스크립트에 라이브러리를 통합하고 이를 사용하여 이메일 주소의 유효성을 검사합니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

4. 테스트하기

Python의 이메일 유효성 검사 - 코드 스니펫

 
유효하면 일반 이메일 양식을 반환합니다. 유효하지 않으면 명확하고 사람이 읽을 수 있는 오류 텍스트를 제공합니다.

방법 4: re.match 사용

Re.match 메서드는 Python 정규식을 사용하여 이메일 주소의 모양을 확인합니다. 사용자 이름과 도메인 이름을 검사하고 이메일에 @ 기호와 같은 필수 요소가 모두 포함되어 있는지 확인합니다.

참고: 알고리즘은 소문자, 숫자 및 특수 문자를 감지합니다. 하지만 이메일 주소가 존재하는지 또는 도메인이 작동하는지 여부는 알 수 없습니다.

1. 재 모듈 추가

'다시'를 다시 가져와서 시작하세요.
 

Python의 이메일 유효성 검사 - 코드 스니펫

2. 이메일 정규식 패턴 정의

유효한 이메일 주소의 패턴을 정의합니다. 기본 패턴에는 이메일의 로컬 부분에 대한 제어 문자, @ 기호, 도메인 이름에 대한 문자가 포함됩니다. 다음은 이메일 유효성 검사를 위한 간단하면서도 효과적인 정규식 패턴입니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

 
이 패턴은 이메일 주소 형식이 영숫자(점, 밑줄, 백분율 포함)로 시작하고 @ 기호가 뒤에 오고 도메인 이름으로 끝나는 것을 보장합니다.

3. 이메일 유효성 검사

마지막으로 re.match() 함수를 사용하여 이메일 주소가 패턴과 일치하는지 확인합니다.
 

Python의 이메일 유효성 검사 - 코드 스니펫

 
입력 내용이 패턴과 일치하면 '유효한 이메일'을 반환하고 그렇지 않으면 오류를 반환합니다.

4. 테스트하기

스크립트를 철저히 테스트하고 잘못된 결과를 반환하는지 확인하려면 다양한 이메일로 시도해 보세요.
 

Python의 이메일 유효성 검사 - 코드 스니펫

이메일 유효성을 검사하는 더 쉬운 방법

코딩할 필요 없이 이메일의 유효성을 검사하고 싶었던 적이 있나요?

바운서 이 그 공백을 메워줍니다.

사용하기 쉬운 도구입니다. 를 사용하면 클릭 몇 번(말 그대로 몇 번!)만으로 이메일 목록을 정리할 수 있습니다.

또한 다양한 메일 서버에서 호스팅되는 주어진 이메일 주소를 확인할 수 있습니다(심층적인 Google Workspace 및 Office365 인증 포함).

어떻게 하나요?

1단계: 메일링 리스트 가져오기

시작은 간단합니다. 가입하기를 클릭하고 사용자 계정을 생성한 다음 이메일 목록을 Bouncer에 업로드하기만 하면 됩니다.

컴퓨터의 CSV, TXT 파일 또는 스프레드시트일 수 있습니다.
 

바운서에서 이메일 유효성 검사

 
대안: 더 편리한 기능을 원한다면 Bouncer를 사용할 수 있습니다.
직접 통합 이미 사용 중인 도구와 함께 사용할 수 있습니다. 즉, 실시간으로 이메일 주소의 유효성을 검사하고 기존 워크플로에 Bouncer를 원활하게 통합할 수 있습니다.

2단계: 유효성 검사 시작

목록을 업로드한 후 유효성 검사 버튼을 누릅니다. 바운서가 이메일을 빠르게 검토하여 문제를 일으킬 수 있는 이메일을 찾아냅니다.
 

바운서로 이메일 유효성 검사

 
다음이 있습니다.
프로세스를 추적할 필요가 없습니다. 시간을 보낼 수 있습니다. 이 일을 하는 것이 바운서의 역할입니다.

목록이 확인되면 바운서에서 이메일 알림을 보내므로 메일링 캠페인의 가치를 높이기 위해 원하는 조치를 즉시 취할 수 있습니다.

➡️ 이메일 유효성 검사 프로세스에 대한 자세한 내용은 여기를 참조하세요: 이메일 주소가 유효한지 확인하는 방법

3단계: 몇 분 안에 결과 얻기

Bouncer의 장점은 속도와 효율성(심지어 시간당 20만 개의 이메일을 처리할 수 있습니다!)에 있습니다.

곧바로 이메일 목록이 확인됩니다. 결과를 받기까지 오래 기다릴 필요가 없습니다.

이렇게 빠른 처리 시간은 시간과 효율성을 중시하는 기업 및 개인에게 이상적입니다.
 

바운서에서 이메일 인증 결과

 
어떤 결과를 얻게 되나요? 최종 결과는 전달 가능, 위험, 전달 불가능, 미지수의 네 가지 주요 범주로 나뉩니다(일반적으로 0.3~3%로 매우 낮음).

이렇게 하면 발신자의 평판에 부정적인 영향을 미치는 원치 않는 이메일을 빠르게 삭제할 수 있습니다.

마지막으로 돈에 대해 이야기해 보겠습니다.

Bouncer는 100 크레딧을 무료로 제공하므로 시험해 볼 수 있는 좋은 방법입니다. 그 후에는 사용한 만큼만 지불하거나 필요에 맞는 요금제를 선택할 수 있습니다.

바운서는 이메일이 사람들에게 도달할 수 있도록 도와줍니다. 파이썬을 익히는 것보다 훨씬 간단하다는 것은 말할 것도 없습니다. 시간과 골칫거리를 절약할 수 있는 현명한 투자입니다.
 

바운서 CTA

프로그래밍 코드를 사용하지 않고 유효한 이메일 주소

의심할 여지 없이 이메일 유효성 검사를 위해 Python을 마스터하는 것은 가치 있는 일입니다. 하지만 모든 사람에게 가장 쉬운 길은 아닙니다. 학습 곡선이 가파를 수 있으며 모든 사람이 코드와 스크립트를 파헤칠 시간이나 리소스가 있는 것은 아닙니다.

바운서는 이메일이 제대로 전달되었는지 확인할 수 있는 간편한 버튼이라고 생각하면 됩니다. 코드 없이. 바운서 체험하기 - 번거로움 없는 이메일 인증을 위한 현명한 조치입니다.

선과 점