sendmail ไม่สามารถส่งไปที่ gmail - แนวทางการส่ง IPv6 เกี่ยวกับบันทึก PTR ไม่เป็นไปตาม


32

ฉันมีปัญหาในการส่งจดหมายไปยัง google จากการติดตั้ง sendmail ใหม่บน Ubuntu 14.04 ระเบียน DNS ดูเหมือนว่าใช้ได้สำหรับ ip อย่างอื่นจะต้องผิด

การส่งเมลจากบรรทัดรับคำสั่ง:

sudo sendmail -v -Am -i myname@gmail.com;

Verbose output:

myname@fx1:/etc/mail$ sudo sendmail -v -Am -i myname@gmail.com;
myname@gmail.com... Connecting to aspmx.l.google.com. via esmtp...
220 mx.google.com ESMTP v1si55415385wja.21 - gsmtp
>>> EHLO staging.mydomain.com
250-mx.google.com at your service, [2a01:4f8:212:27c8::2]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO staging.mydomain.com
250-mx.google.com at your service, [2a01:4f8:212:27c8::2]
250-SIZE 35882577
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
>>> MAIL From:<myname@staging.mydomain.com>
250 2.1.0 OK v1si55415385wja.21 - gsmtp
>>> RCPT To:<myname@gmail.com>
>>> DATA
250 2.1.5 OK v1si55415385wja.21 - gsmtp
354  Go ahead v1si55415385wja.21 - gsmtp
>>> .
550-5.7.1 [2a01:4f8:212:27c8::2] Our system has detected that this message does
550-5.7.1 not meet IPv6 sending guidelines regarding PTR records and
550-5.7.1 authentication. Please review
550-5.7.1  https://support.google.com/mail/?p=ipv6_authentication_error for more
550 5.7.1 information. v1si55415385wja.21 - gsmtp
myname... Connecting to local...
myname... Sent

ความช่วยเหลือใด ๆ ที่เป็นที่นิยมอย่างมาก ขอบคุณล่วงหน้า.


คุณตรวจสอบเอกสารด้วยข้อผิดพลาดหรือไม่?
Craig Watson

ใช่แน่นอน โดยระบุว่าต้องตั้งค่า ipv6 dns ฉันทำเช่นนั้นและที่อยู่ ipv6 ชี้ไปที่ชื่อโดเมน
เมอร์ลิน

และชื่อโฮสต์ส่งต่อของคุณคืออะไร?
Craig Watson

ไม่แน่ใจว่าคุณหมายถึงอะไรกับชื่อโฮสต์ส่งต่อ DNS ย้อนกลับสำหรับ 2a01: 4f8: 212: 27c8 :: 2 ถูกตั้งค่าเป็น staging.findix.com
merlin

3
มีปัญหาของคุณ staging.findix.com ไม่ได้มีการบันทึก AAA 2a01:4f8:212:27c8::2ชี้ไปที่
Craig Watson

คำตอบ:


17

จากมุมมองของ Google ที่พวกเขากำลังพยายามที่จะตรวจสอบตัวตนของที่อยู่ IP เชื่อมต่อกับพวกเขาดังนั้นพวกเขาจะพยายามที่จะมองขึ้นบันทึกPTR2a01:4f8:212:27c8::2

เมื่อพวกเขาแก้ไขสิ่งนั้นเป็นstaging.findix.comพวกเขาจะพยายามตรวจสอบว่าสิ่งนี้แก้ไขกลับไปเป็นแบบ2a01:4f8:212:27c8::2ที่ไม่เห็นผลการค้นหานี้

ค้นหาแบบย้อนกลับ (บันทึก PTR)

cwatson@thor:~$ nslookup 31.220.4.52
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
52.4.220.31.in-addr.arpa    name = tyr.vikingserv.net.

การค้นหาไปข้างหน้า (ระเบียน)

cwatson@thor:~$ nslookup tyr.vikingserv.net
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   tyr.vikingserv.net
Address: 31.220.4.52

2
พาราแรกนั้นค่อนข้างไม่ถูกต้อง เนื่องจากระเบียน A / AAAA หลายรายการสามารถชี้ไปยังที่อยู่ IP เดียวกันซึ่งจะเป็นไปไม่ได้ สิ่งที่ต้องมีก็คือสิ่งที่ชื่อโฮสต์ของคุณบันทึก PTR ชี้ไปที่เมื่อคุณดูชื่อโฮสต์ที่ขึ้นคุณควรกลับไปที่ที่อยู่เดิม นั่นคือ address-> hostname-> วนที่อยู่จะต้องสมบูรณ์ ชื่อโฮสต์ -> ที่อยู่ -> ห่วงชื่อโฮสต์ไม่สามารถรับประกันได้และไม่มีใครควรดูแลเกี่ยวกับมัน
MadHatter รองรับโมนิก้า

ขอขอบคุณ. ที่แก้ไขปัญหาและข้อความจากเครื่องรับส่งมอบ
เมอร์ลิน

2
ดูเหมือนว่าคุณจะตอบว่า "ทำไม" แต่ไม่ใช่ "วิธีแก้ไข" ฉันเองมีความรู้ DNS ไม่เพียงพอสำหรับคำตอบนี้เพื่อช่วยฉัน
บ๊อบ

1
ฉันต้องเพิ่มระเบียน AAAA สำหรับที่อยู่ IPv6 ของฉันจากข้อความแสดงข้อผิดพลาดของ Google (2a01: 4f8: 212: 27c8 :: 2 ในกรณีของคุณ) ไปยังเซิร์ฟเวอร์ DNS ของชื่อโดเมนที่ส่งคืนโดยhostnameคำสั่ง หลังจากนั้นสักครู่ (หมดอายุของ TTL ซึ่งเป็นวันถัดไป) ฉันสามารถส่งอีเมลไปยังบัญชี gmal ของฉันด้วยคำสั่งนี้: sendmail -v -Am -i <my_gmal_account>@gmail.com;(และกด Ctrl + D)
Csongor Halmai

29
  1. ตรวจสอบโปรโตคอลปัจจุบัน:

    postconf inet_protocols

    net_protocols = ทั้งหมด

  2. แก้ไขไฟล์ cf หากส่งคืน all

    grep 'inet_protocols' /etc/postfix/main.cf

    inet_protocols = ipv4

  3. เริ่มต้นใหม่

    service postfix restart

  4. ตรวจสอบอีกครั้ง

    postconf inet_protocols

    inet_protocols = ipv4


3
IMHO เป็นทางออกที่ง่ายกว่าวิธีที่ยอมรับ หากคุณไม่จำเป็นต้องกดใช้ IPv6 นี่อาจเป็นการแก้ไขด่วน
Laryx Decidua

นี่เป็นคำตอบที่ง่ายกว่าคำตอบอื่น ๆ แม้ว่าคำตอบอื่นจะสมบูรณ์กว่า มันแก้ปัญหาของฉันได้เพราะตอนนี้ฉันไม่ต้องการ IPv6
javsmo

2

ชื่อโฮสต์เซิร์ฟเวอร์ smtp ของคุณอาจมีปัญหา มันดูเหมือนจะเป็นกรณีสำหรับฉัน POstfix ส่งชื่อโฮสต์ไปยัง smtp.gmail.com ไม่เกี่ยวข้องกับชื่อโดเมน smtp ของฉัน


2

ฉันคิดว่าคำตอบของ Google นั้นไม่ตรงไปตรงมา แม้ว่า "ข้อผิดพลาด" ของพวกเขากล่าวถึง PTR, 550 5.7.1 เป็นเรื่องเกี่ยวกับการถ่ายทอด ฉันก็รับข้อผิดพลาดนี้ในการติดตั้ง Postfix / Dovecot แต่ฉันแก้ไขมันผ่านไม่กี่ขั้นตอน:

  1. การเพิ่มข้อมูล IPv6 IP ให้กับ ifcfg-eth0 config ของคุณบนเมลเซิร์ฟเวอร์
  2. การเพิ่มระเบียน AAAA MX บน DNS ของคุณ
  3. การเพิ่มช่วง IPv6 ของ "ผู้ส่งที่ได้รับอนุญาต" ทั้งหมดใน postfix / main.cf บนเซิร์ฟเวอร์อีเมลของคุณ

ฉันมี AT&T Business UVerse และพวกเขาไม่สนับสนุน IPv6 แบบคงที่สำหรับ PTR แต่หลังจากทำตามขั้นตอนข้างต้น Google หยุดข้อผิดพลาด ฉันใช้https://www.ultratools.com/ipv6Toolsเพื่อแปลงจาก IPv4 เป็น IPv6 ในที่สุดฉันก็รวบรวมทุกอย่างไว้ในเว็บไซต์ของฉันที่เปิดใช้งาน IPV6 บน CentOS (สำหรับการส่งและรับจดหมาย)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.