ไม่ได้รับอีเมลจากผู้ส่งบางรายเนื่องจากการกำหนดค่า DNS


9

ฉันสังเกตเห็นพฤติกรรมที่แปลกประหลาดของโดเมนแอพ google ของฉัน จดหมายส่วนใหญ่ผ่านมาอย่างที่คุณคาดหวัง แต่ในช่วงเวลาหนึ่งฉันได้ข้อสรุปว่าจดหมายจากผู้ส่งบางรายไม่ผ่านมา หลังจากระบุผู้ส่งรายดังกล่าวซึ่งจดหมายไม่ผ่านฉันขอให้เขาพยายามส่งอีเมลถึงฉันและส่งต่อ "การส่งล้มเหลว" - ตอบกลับไปยัง gmail ปกติของฉัน

การตอบสนองความล้มเหลวในการจัดส่งมีตัวอย่างต่อไปนี้:

----- การถอดเสียงเซสชันมีดังนี้ -----
<myusername@GHS.L.GOOGLE.COM>... รอการอนุมัติ: การเชื่อมต่อหมดเวลากับ ghs.l.google.com

สิ่งนี้ช่วยให้ฉันระบุปัญหาด้วยการค้นหาอย่างรวดเร็วซึ่งนำฉันมาที่หน้านี้ในฟอรัมความช่วยเหลือของ Google Apps อันที่จริงฉันตรวจสอบระเบียน DNS สำหรับโดเมนของฉันและ@ตั้งเป็น ghs.google.com (CNAME) ซึ่งไม่ควรเป็น การเปลี่ยนเป็น@ 74.125.93.121 (A)* เพื่อแก้ไขปัญหา

ผมเข้าใจว่าในกรณีที่จดหมายจะไม่ผ่านมาชื่อโดเมนของฉันถูกสับเปลี่ยนโดยใช้ชื่อที่ยอมรับมันผ่าน CNAME ค้นหาเพื่อให้อีเมลที่ถูกส่งไปแทนmyusername@ghs.l.google.com แต่ทำไมมันถึงได้ผลกับผู้ส่งส่วนใหญ่? ผู้ส่งที่ไม่ได้รับจดหมายใช้โปรโตคอลจดหมายชนิดต่าง ๆ การตั้งค่า DNS แปลก ๆ หรืออาจเป็นอะไรmyusername@mydomain.com

จากสิ่งที่ฉันได้เห็นจากการค้นคว้าปัญหาบน google ดูเหมือนว่าจะเป็นปัญหาที่แพร่หลาย (ผู้คนจำนวนมากบ่นเกี่ยวกับอีเมลจาก battle.net ที่ไม่ผ่านมาจะเป็นตัวอย่างที่ได้รับความนิยม) เพียงคนที่ดูเหมือนจะไม่ เพื่อให้ทราบว่าปัญหาอยู่ในการตั้งค่า DNS ของตัวเองแทนที่จะเป็นที่ด้านผู้ส่ง

ดังนั้นสิ่งนี้สามารถอธิบายได้อย่างไร

* ฉันใช้ไอพีนี้เพราะสิ่งที่ฉันอ่านที่นี่แต่ฉันคิดว่าไอพีใด ๆ จะทำเคล็ดลับ มีใครยืนยันได้ไหม โปรดทราบว่าการลบ@บันทึกไม่สามารถแก้ไขปัญหาได้ แต่จะต้องมีการเปลี่ยนแปลง

คำตอบ:


12

จาก RFC 2821 "Simple Mail Transfer Protocol" ส่วนที่ 5 "การแก้ไขที่อยู่และการจัดการเมล":

การค้นหาครั้งแรกพยายามค้นหาระเบียน MX ที่เกี่ยวข้องกับชื่อ หากพบระเบียน CNAME แทนชื่อผลลัพธ์จะถูกประมวลผลราวกับว่าเป็นชื่อเริ่มต้น

โดยทั่วไปนี่คือการทำงานของ CNAME พวกเขามักจะใช้ผิดเข้าใจผิดและนำไปใช้ผิด ๆ :-)

หากโดเมนของคุณคือ example.com คุณอาจมีระเบียน MX ที่มีอยู่ซึ่งชี้ไปยังโฮสต์ Google Apps ปกติ

example.com. MX 10 ASPMX.L.GOOGLE.COM.
example.com. MX 20 ALT1.ASPMX.L.GOOGLE.COM.
example.com. MX 20 ALT2.ASPMX.L.GOOGLE.COM.
example.com. MX 30 ASPMX2.GOOGLEMAIL.COM.
example.com. MX 30 ASPMX3.GOOGLMAILE.COM.
example.com. MX 30 ASPMX4.GOOGLEMAIL.COM.
example.com. MX 30 ASPMX5.GOOGLEMAIL.COM.

ดูเหมือนคุณจะมีข้อความเช่นนี้:

example.com. CNAME ghs.l.google.com.

RFC 1034 สถานะ "แนวคิดและสิ่งอำนวยความสะดวกของโดเมน" ในส่วน 3.6.2 "ชื่อแทนและชื่อบัญญัติ" แนะนำให้ใช้กับการกำหนดค่านี้:

หาก CNAME RR มีอยู่ที่โหนดไม่ควรมีข้อมูลอื่น สิ่งนี้ทำให้มั่นใจได้ว่าข้อมูลสำหรับชื่อที่เป็นที่ยอมรับและชื่อแทนไม่สามารถแตกต่างกันได้

ในกรณีที่เกิดข้อผิดพลาดที่คุณวางเซิร์ฟเวอร์อีเมลและ / หรือเซิร์ฟเวอร์ DNS ที่จุดสิ้นสุดการส่งพยายามค้นหาระเบียน MX สำหรับโดเมนของคุณ example.com และพบ CNAME ชี้ไปที่ ghs.l.google ดอทคอม จากนั้นพยายามค้นหาระเบียน MX เพื่อหา ghs.l.google.com โดเมนนั้นไม่มีระเบียน MX ใด ๆ ในขณะนี้ดังนั้นเมล์เซิร์ฟเวอร์จะเข้าสู่ระเบียน A สำหรับ ghs.l.google.com ที่อยู่ IP นั้นไม่ฟังพอร์ต SMTP ดังนั้นผลลัพธ์จึงเป็นข้อผิดพลาด "การเชื่อมต่อหมดเวลากับ ghs.l.google.com"

ด้วยการลบระเบียน CNAME คุณได้แก้ไขปัญหาเมลของคุณแล้ว คุณอาจประสบปัญหาหากที่อยู่ IP ที่คุณกำหนดไว้ถูกแทนที่ในตอนท้ายของ Google

คุณสามารถกำหนด cname สำหรับ www.example.com แทน:

www.example.com. CNAME ghs.l.google.com.

และเรียกใช้เว็บเซิร์ฟเวอร์ขนาดเล็กบน IP ใดก็ตามที่คุณชี้ไปที่ example.com ซึ่งจะทำการเปลี่ยนเส้นทาง HTTP ไปที่http://www.example.com/

มันค่อนข้างน่าแปลกใจที่มันทำงานได้ดีเหมือนกัน กฎหมายของ Postel ได้รับเครดิตฉันเชื่อว่า :-)

กลับไปที่ RFC 1034 2.6.2:

CNAME RR ทำให้เกิดการกระทำพิเศษในซอฟต์แวร์ DNS เมื่อเซิร์ฟเวอร์ชื่อล้มเหลวในการค้นหา RR ที่ต้องการในชุดทรัพยากรที่เชื่อมโยงกับชื่อโดเมนมันจะตรวจสอบเพื่อดูว่าชุดทรัพยากรประกอบด้วยระเบียน CNAME ที่มีคลาสที่ตรงกันหรือไม่ ถ้าเป็นเช่นนั้นเซิร์ฟเวอร์ชื่อจะรวมระเบียน CNAME ในการตอบกลับและเริ่มการสืบค้นใหม่ที่ชื่อโดเมนที่ระบุในฟิลด์ข้อมูลของระเบียน CNAME ข้อยกเว้นเดียวสำหรับกฎนี้คือแบบสอบถามที่ตรงกับประเภท CNAME จะไม่ถูกรีสตาร์ท

ดังนั้นในกรณีนี้อาจเป็นที่ถกเถียงกันอยู่ว่าเซิร์ฟเวอร์ DNS จะ / ไม่ควรติดตาม CNAME บนการค้นหา MX เว้นแต่จะไม่พบระเบียน MX

เมื่อส่งจดหมาย Sendmail และ qmail (และอื่น ๆ น่าจะ) โดยค่าเริ่มต้นจะพยายามเขียน CNAME ใด ๆ ที่ใช้ในด้านขวามือของที่อยู่อีเมลเป็นชื่อมาตรฐาน

อันที่จริงบางไซต์เชื่อมั่นในพฤติกรรมนี้ DJB ไปในรายละเอียดบางอย่างเกี่ยวกับเหตุผลที่เขาคิดว่าทุกคนควรจะหยุดอาศัยในเขา"ระเบียน CNAME ในจดหมาย" เอกสาร


ขอบคุณสำหรับคำตอบที่ครบถ้วนสมบูรณ์! :) เพื่อสรุปคุณจะบอกว่าสาเหตุที่มันใช้ได้กับบางคน แต่ไม่ใช่สำหรับผู้ส่งคนอื่น ๆ นั่นคือพวกเขาใช้ MTA ต่าง ๆ ที่ติดตาม CNAME แม้ว่าจะมีการบันทึก MX อยู่ที่นั่นตาม RFC 1034 2.6.2 ถือเป็นพฤติกรรมที่ผิดพลาดหรือไม่?
0sh

ฉันไม่แน่ใจว่าฉันเรียกพฤติกรรมนี้ว่า "ผิดพลาด" การกำหนดค่าของ CNAME พร้อมระเบียนอื่น ๆ (MX, NS และอื่น ๆ ) เป็นสิ่งที่แตกหัก / ไม่แนะนำและโฮสต์อื่นตีความด้วยวิธีที่แตกต่างกัน
jeff

นั่นคือ 'โดยทั่วไปใช่' แต่คุณไม่แน่ใจว่าคุณเรียกพฤติกรรมที่ผิดพลาดหรือว่าฉันพลาดประเด็นไปโดยสิ้นเชิง?
0sh

ข้อมูลเฉพาะนั้นเป็นระเบียบดังนั้น 'โดยทั่วไปใช่' :-)
jeff

MTA ควรทำการสืบค้นโดเมนหลังจากที่@อยู่ในอีเมล์สำหรับบันทึก MX และไม่มีอะไรอื่น หากได้รับใด ๆ ก็ควรพยายามจัดส่งไปยังระเบียน MX ที่ต่ำที่สุดรายการใดรายการหนึ่งทันที หากเซิร์ฟเวอร์ MX ทั้งหมดไม่สามารถเชื่อมต่อหรือไม่พบระเบียน MX ควรลองเชื่อมต่อกับโดเมนเอง MTA ที่เป็นปัญหาเห็นได้ชัดว่าอยู่ไกลเกินกว่าจะแก้ไขข้อมูลได้หรือไม่ปฏิบัติตามกฎในการพิจารณาว่าจะให้เมลเซิร์ฟเวอร์ใดเชื่อมต่อ ไม่ควรมีอะไรผิดปกติกับการที่โดเมนของคุณชี้ไปที่ CNAME - แต่คุณต้องการระเบียน MX เพื่อให้อีเมลทำงานได้
Eli Sand

1

@สัญลักษณ์ในการบันทึกการผูกเป็นเพียงวิธีการเขียนชวเลขโดเมน หากคุณกำลังสร้างบันทึกสำหรับexample.comแล้วเป็นเพียงนามแฝงสำหรับ@ example.comการบอกว่า@ระเบียนต้องเป็น IP เป็นคำแถลงที่ขาดข้อมูลสำคัญ - คุณไม่ได้บอกเราว่าเป็นข้อมูลประเภทใด

จากรายงานการจัดส่งดูเหมือนว่าคุณอาจทำอะไรกับ DNS ของคุณเพื่อให้เซิร์ฟเวอร์อีเมลระยะไกลเขียนโดเมนของคุณเป็น ghs.l.google.com - แปลกมาก (PS, ระเบียน A ต้องเป็น IP, ระเบียน CNAME ต้องไม่เป็น IP หรือระเบียน CNAME อื่น)

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

ดูเหมือนว่าฉันจะได้รับข้อมูลเล็กน้อยที่ให้ไว้ซึ่งคุณไม่ได้ทำตามคำแนะนำของ Google เกี่ยวกับวิธีกำหนดค่า DNS ของคุณสำหรับอีเมลอย่างถูกต้อง คุณอาจมีข้อผิดพลาดบางอย่างในไฟล์โซนของคุณ - ตรวจสอบโดยผู้ดูแลระบบที่มีอำนาจ


อันดับแรกฉันพูดถึงว่า@บันทึกเป็นประเภท CNAME ประการที่สอง DNS ที่ฉันใช้เป็นอุปกรณ์ที่ Google จัดทำเมื่อซื้อดังนั้นฉันจึงไม่สามารถเข้าถึงไฟล์โซนได้ ฉันใช้การตั้งค่าเริ่มต้นโดย google และสุดท้าย แต่ไม่ท้ายสุด "ข้อมูลที่ให้น้อยมาก" ก็เพียงพอแล้วสำหรับคนที่มีความสามารถในการให้คำตอบที่เป็นประโยชน์เป็นที่น่าพอใจและ (ตรงกันข้ามกับของคุณ)
0sh

คุณไม่เข้าใจ DNS อย่างชัดเจนและการโหวตไม่สมบูรณ์ คุณยังแก้ไขคำถามของคุณหลังจากที่ฉันโพสต์คำตอบของฉันเพิ่มข้อมูลพิเศษ นอกจากนี้คุณยังไม่เคยพูดถึงเมื่อคุณไม่สามารถเข้าถึงไฟล์โซนของคุณแม้จะกล่าวถึงอย่างชัดเจนว่าคุณได้เปลี่ยนไฟล์เหล่านั้น
Eli Sand
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.