ฉันจะตรวจสอบได้อย่างไรว่าที่อยู่อีเมลนั้นมีอยู่จริงและใช้งานอยู่โดยใช้ Sender Policy Framework

จากสิ่งที่ฉันได้อ่าน SPF สามารถใช้ในการตรวจสอบที่อยู่อีเมลได้โดยการส่งคำสั่ง (แทนที่จะเป็นอีเมลจริง) เช่น HELO ฉันเข้าใจนโยบายขั้นพื้นฐานแล้ว แต่ไม่รู้ว่าจะแก้ไขปัญหาต่อไปนี้อย่างไร:

ฉันมีที่อยู่อีเมลจำนวนหนึ่งแนบมากับผู้ติดต่อในระบบ CRM และฉันต้องการทราบว่าที่อยู่อีเมลนั้นถูกต้องและยังคงใช้งานอยู่หรือไม่

ขณะนี้เรากำลังใช้บริการเว็บ REST (http://emailinspector.co.uk/) ซึ่งส่งคืน " ตกลง" (หากใช้ได้... หึหึ), "แย่" (หากไม่ถูกต้องหรือไม่ได้ใช้งาน) หรือ "ไม่ทราบ" สำหรับ Unknown คุณยังจะได้รับหมายเหตุบางส่วนว่าทำไมมันถึงกลับมาด้วย เช่น คุณจะได้รับแจ้งว่ากล่องจดหมายเต็มหรือ DEA ที่รู้จักกันดี

ฉันต้องการเขียนโปรแกรมสคริปต์ที่สามารถจำลองฟังก์ชันการทำงานนี้ได้ และจากสิ่งที่ฉันได้ดำเนินการไปแล้ว ควรใช้ Sender Policy Framework เพื่อทำสิ่งนี้ ปัญหาคือฉันไม่รู้ว่าจะต้องส่งคืนข้อมูลที่แม่นยำดังกล่าวสำหรับที่อยู่อีเมลที่ "ไม่รู้จัก" อย่างไร

ความคิดและความคิด?


person Nick Castle    schedule 14.12.2012    source แหล่งที่มา


คำตอบ (1)


จริงๆ แล้ว SPF เป็นเพียงบันทึกข้อความ โดยมี "คำแนะนำ" บางอย่างเพื่อแจ้งให้คุณทราบว่าที่อยู่ IP หรือเซิร์ฟเวอร์อีเมล "อนุญาต/อนุญาต" ให้ส่งอีเมลสำหรับโดเมนนั้นหรือไม่ มันไม่ได้บอกอะไรคุณเกี่ยวกับที่อยู่อีเมลส่วนบุคคลในโดเมนนั้น..

ตัวอย่างเช่น

    [doon@qix:~] host -t txt labratsoftware.com
       labratsoftware.com descriptive text "v=spf1 a -all"

ระเบียน SPF สำหรับโดเมนใดโดเมนหนึ่งของฉันแจ้งว่ามีเพียงระเบียนสำหรับโดเมนเท่านั้นที่ได้รับอนุญาตให้ส่งอีเมลสำหรับ labratsoftware.com และหากไม่ได้มาจาก IP นั้นก็ควรถูกปฏิเสธ (-ทั้งหมด)

ดังนั้นสิ่งที่ดีที่สุดที่คุณสามารถทำได้กับ SPF คือแจ้งว่าอีเมลที่ได้รับมาจากโฮสต์ที่ได้รับอนุญาต จากนั้นใช้ข้อมูลนั้นเพื่อช่วยตัดสินใจว่าคุณต้องการปฏิเสธอีเมลนั้นหรือไม่

วิธีที่ดีที่สุดในการทดสอบความถูกต้องของที่อยู่อีเมลที่คุณมีคือการส่งอีเมลและดูว่าที่อยู่อีเมลนั้นตีกลับหรือไม่ คุณสามารถใช้ตัวเลือกต่างๆ เช่น VERP (http://en.wikipedia.org/wiki/Variable_envelope_return_path) เพื่อทำให้การจัดการการตีกลับเป็นแบบอัตโนมัติ คุณยังสามารถลองเชื่อมต่อกับระเบียน MX ที่แสดงสำหรับโดเมนและลองส่งข้อความในลักษณะนั้นได้ เซิร์ฟเวอร์เมลบางตัวรองรับการตรวจสอบ (แต่ผู้ดูแลระบบส่วนใหญ่ปิดใช้งานสิ่งนี้เพื่อป้องกันการรั่วไหลของข้อมูล) คุณสามารถใช้ RCPT TO เพื่อดูว่าเซิร์ฟเวอร์ยอมรับหรือไม่ แต่ถึงแม้จะยอมรับ คุณก็ไม่มีทางรู้ได้เลยว่าจะไปถึงกล่องจดหมายของพวกเขาจริงหรือไม่ ฉันเดาว่านั่นคือสิ่งที่ API ที่คุณใช้อยู่กำลังทำอยู่ และสิ่งที่ไม่รู้จักก็เป็นเพียงสิ่งที่ไม่ตอบ รายชื่อสีเทา ฯลฯ

person Doon    schedule 14.12.2012