คำตอบ:
เพียงเพื่อประโยชน์ของความสมบูรณ์: บางเซิร์ฟเวอร์ 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 ใหม่ซึ่งอาจให้ข้อมูลบางส่วนกับคุณได้ แต่ที่อยู่เดิมจะไม่สามารถใช้งานได้ในบางเวลา)
VRFY
ไม่สามารถใช้งานได้กับ Gmail (ดูความคิดเห็นของฉันที่คำตอบของ Michael .)
หากเป็นไปได้ผู้ส่งอีเมลขยะทั่วโลกจะร้องเพลงด้วยความยินดี
ขออภัย แต่ไม่เป็นไปไม่ได้ที่จะทราบว่ามีที่อยู่อีเมลหรือไม่
ในความคิดของฉันนี้เป็นคุณสมบัติ!
วิธีที่ดีที่สุดที่คุณสามารถทำได้คือส่งอีเมลไปยังรายการของคุณแล้วลบอีเมลที่ตีกลับ (= ที่ไม่สามารถส่งได้)
ระวัง! ในบางประเทศเป็นการผิดกฎหมายที่จะส่งอีเมลขยะที่ไม่พึงประสงค์ไปยังผู้ที่ไม่ได้อนุญาตล่วงหน้าอย่างชัดเจน
From
, Reply-to
หรือReturn-Path
. สำหรับแต่ละข้อความผมได้รับข้อความนับพันตีกลับสองครั้งที่กรองได้อย่างง่ายดายยังคงไม่ดีมาก.)
ไม่มีวิธีที่ดีในการทำเช่นนั้นจริงๆ มีคำสั่ง 'VRFY' ในโปรโตคอล SMTP แต่ฉันไม่รู้จักใครก็ตามที่อนุญาตให้ใช้งานได้อีกต่อไป - มันมีประโยชน์กับผู้ส่งสแปมมากเกินไป โฮสต์ส่วนใหญ่จะปฏิเสธคำสั่งอีกต่อไป
สิ่งที่ดีที่สุดที่คุณสามารถทำได้ในขณะนี้คือการส่งอีเมลและบันทึกสิ่งที่ตีกลับ (สังเกตว่าบางโฮสต์อีเมลจะ blackhole อีเมลที่ไม่สามารถจัดส่งได้แทนที่จะตีกลับ)
ฉันไม่ทราบว่าธุรกิจหรือจุดประสงค์ของคุณคืออะไรในรายการนี้ แต่คุณควรรู้ว่าถ้าคุณส่งอีเมลไปยังคน 2000 คนพร้อมกันคุณมีแนวโน้มที่จะถูกตั้งค่าสถานะเป็นผู้ส่งสแปมโดยโฮสต์อีเมลบางราย
vrfy
จะต้องมีชื่อผู้ใช้ไม่ใช่ที่อยู่อีเมล ถ้าเป็นจริงฉันเดาว่ามันถูกปิดใช้งานเป็นหลักด้วยเหตุผลด้านความปลอดภัยไม่ใช่เพื่อต่อสู้กับสแปมเมอร์? บน Gmail ทั้งvrfy existinguser
, vrfy existinguser@gmail.com
, vrfy someunknownuser
และvrfy someunknownuser@gmail.com
ผลผลิตทั้งหมด252 2.1.5 Send some mail, I'll try my best
ในขณะที่ Gmail เดียวกันมากrcpt to:
ไม่เปิดเผยถ้าที่อยู่อีเมลที่ถูกต้อง
ไม่สามารถระบุได้อย่างถูกต้องว่าที่อยู่นั้นเป็นของจริงหรือไม่ - ผลิตภัณฑ์ใด ๆ ที่อ้างว่าสามารถทำให้ความสามารถนั้นรุนแรงขึ้นได้ดังนั้นคุณจึงควรพิจารณาคำกล่าวอ้างอื่น ๆ
มีห้องสมุด F / OSS ที่มีอยู่ที่ทำได้มากที่สุด: ฉันเดาว่าซอฟต์แวร์ส่วนใหญ่ในตลาดเป็นเพียงกระดาษห่อหุ้มแฟนซีที่อยู่รอบ ๆ เหล่านั้นดังนั้นคุณอาจทำเองได้อย่างง่ายดายซึ่งดี / ไม่ดี หากคุณมีประสบการณ์การเขียนโปรแกรมใด ๆ แต่จำไว้ว่าไม่ว่าวิธีการตรวจสอบความถูกต้องจะดีเพียงใดที่จะให้ผลลัพธ์ที่เป็นเท็จทั้งเชิงบวกและเท็จ
http://freshmeat.net/projects/emailaddressvalidationcomponentยกตัวอย่างเช่นเกิดการค้นหาอย่างรวดเร็วสำหรับ freshmeat และสมมติว่าคำอธิบายนั้นถูกต้องมันทำทุกอย่างที่สามารถทำได้จริงเพื่อลองยืนยันที่อยู่
คุณสามารถpingที่อยู่อีเมล
จาก Lifehacker.com:
http://lifehacker.com/5697360/how-to-verify-if-an-email-address-is-real-or-fake
เมื่อคุณส่งอีเมลถึงใครบางคนข้อความจะไปที่เซิร์ฟเวอร์ SMTP ซึ่งจะค้นหาระเบียน MX (Mail Exchange) ของโดเมนผู้รับอีเมล
กดลิงก์เพื่อดูคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการ ping ที่อยู่อีเมล
ภายในบริบทของ บริษัท สิ่งนี้สามารถทำได้โดยการค้นหาอัตโนมัติใน Active Directory
วิธีการเกี่ยวกับการเขียนสคริปต์ Perl เพื่อทำงานนี้โดยอัตโนมัติ? ลองใช้งานได้ที่: http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm
คุณสามารถลอง: http://verify-emails.com/
มันยังคงเป็นบริการลองและซื้อ แต่สามารถจัดการรายการเช่นเดียวกับอีเมลเดียวและสามารถรวมอยู่ในแบบฟอร์มการลงทะเบียน
ฉันยังต้องการวิธีการตรวจสอบการมีอยู่ของที่อยู่อีเมลดังนั้นฉันจึงลงเอยด้วยการเขียนโปรแกรมเล็ก ๆ ของฉันเอง (งูใหญ่)
http://github.com/un33k/python-emailahoy
มันถูกต้อง 100% เมื่อผู้ให้บริการซื่อสัตย์กับคุณ
(gmail นั้นค่อนข้างตรงไปตรงมา แต่ yahoo ไม่ใช่อย่างที่บอกว่าใช่สำหรับอีเมลทั้งหมด)
มันดีกว่าไม่มีอะไรเลยเพราะมันช่วยลด spams ลงได้มากกว่า 50% สำหรับข้า
มันเป็นไปได้ที่จะตรวจสอบว่าที่อยู่อีเมลที่มีอยู่โดยใช้ลิงค์นี้:
http://verify-email.org/ มันส่ง Ping ไปยังที่อยู่อีเมลและตอบกลับOk
หากมีอีเมลอยู่และBad
หากอีเมลนั้นเป็นของปลอมหรือไม่มีอยู่จริง อีกหนึ่งลิงก์ที่มีประโยชน์สำหรับปัญหานี้:
http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html
VRFY
คำสั่งเพื่อวัตถุประสงค์นี้