이메일 주소가 있는지 확인하는 방법?


26

2,000 개의 이메일 주소가 존재하는지 확인하려고합니다. 각 주소로 이메일을 보내지 않고 이메일 주소가 유효한지 확인할 수있는 방법이 있습니까?

온라인 서비스를 찾았습니다. 이메일 무제한 지만 정식 버전을 구입하기 전에 20 개의 이메일 주소 만 확인합니다.

답변:


37

완전성을 위해 일부 SMTP 서버 이메일 주소가 존재하는지 여부를 나타냅니다. 다른 답변 의 전체 예 를 따르면 :

telnet gmail-smtp-in.l.google.com 25

helo example.com
mail from: <me@example.com>
rcpt to: <somenonexistinguser@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596

성공하면 주소가 유효한지 여부를 알리고 싶지 않은 서버에서 마지막 명령은 다음과 같습니다.

250 2.1.5 OK

그러면 quit이메일을 전혀 보내지 않고도 간단히 호출 할 수 있습니다. 그러나 많은 주소를 시도 할 때 차단 될 수도 있습니다.

(Gmail은 vrfy명령을 지원하지 않습니다 . 웹 사이트 에는 새 Gmail 계정에 가입 할 때 "사용 가능 여부 확인"버튼이 있습니다. 또한 일부 정보를 제공 할 수 있지만 이전 주소는 얼마 동안 사용할 수 없습니다.)


1
SMTP는 VRFY이러한 목적으로 명령을 정의합니다 .
grawity

@grawity는 이론적으로는 맞지만 VRFYGmail에서는 작동하지 않습니다. ( Michael의 답변에 대한 내 의견 참조 )
Arjan

2
모든 서버가 누락 된 계정에 대해 "존재하지 않음"오류로 응답하는 것은 아니므로 완전히 신뢰할 수있는 것은 아닙니다. 서버가 여러 다른 서버에 대한 프록시 (및 / 또는 외부 보조 서버) 인 경우 다음 홉에서 어떤 계정이 유효한지 알 수 없으므로 "250 OK"가 표시되며 일부 서버는이 방법으로 설정됩니다. 스패머가 유효한 계정을 열거하려고 시도하지 않도록합니다. 일부 고객 메일 서버에 대한 빠른 테스트에서 내가 시도한 5 개 중 1 개가 존재하지 않는 계정에 대해 5xx 응답을주지 않았다는 것을 보여주었습니다.
David Spillett

(@David, 알고 있습니다. 그 이유 때문에 위에 "일부"라는 단어를 사용했습니다.하지만 조금 강조했습니다.)
Arjan


23

이것이 가능하다면 전세계 스패머들은 기쁨으로 노래 할 것입니다.

죄송합니다. 아니요, 지정된 이메일 주소가 있는지 여부를 알 수 없습니다.

제 생각에는 이것이 기능입니다!

  • 당신 당신의 통신원 을 알고 있다면 , 당신은 그들의 연락 정보를 알게 될 것입니다.
  • 당신 당신의 통신원을 모른다 면, 당신은 낯선 사람이고 그들은 당신으로부터 원치 않는 메일을받는 것에 감사하지 않을 것입니다.
  • 당신 당신의 통신원 을 아는 데 사용 하고 그들이 그들의 주소 변경을 계속 알려주지 않았다면, 그들은 당신의 메일을받지 않기 위해 (의식없는) 의식적인 결정을 내 렸습니다.

당신이 할 수있는 최선의 방법은 목록에 전자 메일을 보낸 다음 반송 메일 (= 전달할 수없는)을 제거하는 것입니다.

조심해! 일부 국가에서는 사전에 명시 적으로 허용하지 않은 사람들에게 요청하지 않은 대량 전자 메일을 보내는 것은 불법입니다.


고마워 그러나 그렇습니다. 연락처는 알고 있지만 일부는 위치 나 회사를 변경할 때 연락처 세부 정보를 업데이트하지 않았습니다. 지난번에 뉴스 레터를 발송했는데 이메일 주소가 반송되고 이메일 반송 비율이 높아 계정이 다시 활성화되었습니다. 인터넷에서 찾았지만 이것이 신뢰할 수 있는지 확실하지 않습니다. verify-email.org
tintincutes

2
+1-효과가 있으면 빠르게 악용 될 수 있습니다. 이것이 우리가 좋은 것을 가질 수없는 이유입니다!
David Spillett

2
이것이 왜 강력하게 반박되었는지 확실하지 않습니다. 윤리 101 수업? 나는 OP가 원하는 것과 같은 것을 보았고 사악한 목적조차도 보지 못했습니다. 다른 답변과 의견은 많은 메일 서버, 특히 회사 / Google 이외의 메일 서버에서 가능하다는 것을 나타냅니다.
Daniel Beck

1
@Daniel : 확실히 가능 에 대한 일부 ( 많은 -하지만 안정적으로 가능하지 않으며입니다 반드시 특정 주소에 대한 신뢰성, 사실) 메일 서버 / 서비스를 제공합니다. 나는 윤리적 측면보다는 "확실히 알 수 없다"는 기술적 정확성에 찬성했다.
David Spillett

1
스팸 실행의 가짜 발신자로 사용 된 사람들은 많은 백스 캐터를 받을 때이 "기능"에 대해 너무 행복하지 않을 것 입니다. (외에 다른를 사용하는 실행에서 가끔 반송 메일 From, Reply-to또는 Return-Path. 각 메시지에 대해, 내가 두 차례에 반송 메시지의 수천을받은 쉽게 필터링, 아직도 아주 좋은.)
Arjan

7

그렇게하는 좋은 방법은 없습니다. SMTP 프로토콜에는 'VRFY'명령이 있지만 더 이상 작동하도록하는 사람은 아무도 모릅니다. 스패머에게는 너무 유용합니다. 대부분의 호스트는 더 이상 명령을 거부합니다.

지금 할 수있는 최선의 방법은 전자 메일을 보내고 반송 내용을 기록하는 것입니다 (일부 메일 호스트는 반송하지 않고 배달 할 수없는 메일 만 블랙홀 함).

귀하의 비즈니스 나 목적이이 목록에 무엇인지는 모르지만 한 번에 2000 명에게 전자 메일을 보내면 일부 메일 호스트에 의해 스패머로 표시 될 수 있습니다.


1
연락처 목록을 지우는 것과 비슷할 것입니다. 어쨌든 메일이 반송됩니다.
Daniel Beck

접점을 청소하려고합니다. 새 연락처 데이터베이스를 디자인해야합니다. 우리는 다른 회사의 많은 고객을 보유하고 있습니다. 하나의 데이터베이스로 분류 해야하는지 또는 다른 회사에 대해 다른 DB를 만들지 확실하지 않습니다. 가장 좋은 방법은 무엇입니까?
tintincutes

만약 내가 제대로 이해하고, 그 다음 vrfy 사용자 이름 필요 하지 이메일 주소를? 사실이라면 스패머와 싸우지 않고 보안상의 이유로 주로 비활성화되어 있다고 생각합니다. Gmail을, 모두에서 vrfy existinguser, vrfy existinguser@gmail.com, vrfy someunknownuservrfy someunknownuser@gmail.com모든 수율 252 2.1.5 Send some mail, I'll try my best, 바로 그 Gmail을에 잠시 rcpt to: 않는 이메일 주소가 유효한지 알 수있다.
Arjan

vrfy를 사용하면 메일 서버에 연결 한 다음 vrfy username (이메일 주소에서 @ 앞에있는 부분)을 연결합니다. 작동하면 사용자의 실제 여부를 예 또는 아니오로 알려줍니다. 그것이 작동하지 않으면 (많은 것은 아닙니다) '금지'또는 '나는 모른다'라고 말합니다. '모름이 없다'라는 답변은 기본 계정 목록에 액세스 할 수없는 메일 전달 호스트에게는 완벽합니다. 따라서 작업 할 때도 vrfy는 그다지 유용하지 않을 수 있습니다.
Michael Kohne

2

주소가 실제인지 아닌지를 정확하게 판단하는 것은 불가능합니다. 주소를 능가한다고 주장하는 제품은 냉소적 인 눈으로 만든 다른 주장을 고려해야합니다.

가능한 한 많은 것을 수행하는 F / OSS 라이브러리가 존재합니다. 시중에 나와있는 대부분의 소프트웨어는 그 주위를 둘러싼 멋진 래퍼 일 것입니다. 코딩 경험이 있다면 그러나 유효성 검사 루틴이 아무리 우수하더라도 거짓 긍정 및 거짓 부정적 결과를 모두 제공하는 경향이 있음을 기억하십시오.

예를 들어 http://freshmeat.net/projects/emailaddressvalidationcomponent 는 빠른 검색을위한 빠른 검색을 제공하며 설명이 정확하다고 가정하면 실제로 주소 확인을 위해 수행 할 수있는 모든 작업을 수행합니다.


@DanieL : 알겠습니다. 감사합니다. 이건 어때? 이 또한 유효 techie-buzz.com/how-to/...은
tintincutes

@tintincute : 꽤 유효 해 보인다. 내 Lifehacker 소스는 같은 비디오를 사용한다.
studiohack


1

회사 컨텍스트 내에서이 작업은 Active Directory에서 조회를 자동화하여 수행 할 수 있습니다.


1

이 작업을 자동화하기 위해 Perl 스크립트를 작성하는 것은 어떻습니까? 이것을 확인하십시오 : http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm


실제로 SMTP 명령을 사용하여 SMTP 서버에 연결하며 너무 많은 요청을 너무 많이하면 스패머로 분류되어 차단 될 수 있습니다. 따라서 수천 개의 이메일을 확인하는 데 좋지 않습니다.
Bulrush

1

당신은 시도 할 수 있습니다 : http://verify-emails.com/

이 서비스는 여전히 시험 구매 서비스이지만 단일 이메일뿐만 아니라 목록을 처리 할 수 ​​있으며 등록 양식에 통합 될 수 있습니다.


그 도메인은 판매용입니다. 사이트가 죽었습니다.
Bulrush

1

또한 이메일 주소가 있는지 확인하는 방법이 필요했기 때문에 작은 유틸리티를 작성했습니다. (파이썬)

http://github.com/un33k/python-emailahoy

제공자가 귀하에게 정직 할 때 100 % 정확합니다.
(gmail은 정직하지만 야후는 ​​모든 이메일에 예라고 말하는 것은 아닙니다.)

스팸을 % 50 이상 줄 였기 때문에 아무것도 아닌 것보다 낫습니다.


0

http://verify-email.org/ 링크를 사용하여 이메일 주소가 있는지 확인할 수 있습니다 . 이메일 주소를 핑 (Ping)하고 이메일 Ok이 존재 Bad하고 이메일이 가짜이거나 존재하지 않는 경우 응답 합니다. 이 문제에 유용한 링크가 하나 더 있습니다 : http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html


첫 번째 링크 : 단일 주소 확인은 무료 인 것처럼 보이지만 질문에 따라 2000을 확인하려면 유료 소프트웨어가 필요합니다. 그것이 질문이 대안을 찾는 상황이므로, 이것은 실제로 질문에 대한 해결책이 아닙니다. 두 번째 링크는 단일 검사도 처리합니다. 수퍼 유저는 포럼이 아니며 일반적으로 주제와 관련된 것을 남기는 것이 일반적입니다. 이 기술의 목적은 지식 기반을 구축하는 것이며 각 답변은 질문에 대한 솔루션을 제공해야합니다. 다운 보트를 끄는 경향이없는 답변.
fixer1234
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.