sendmail không thể gửi đến gmail - Hướng dẫn gửi IPv6 liên quan đến hồ sơ PTR không được đáp ứng


32

Tôi gặp sự cố trong việc gửi thư tới google từ bản cài đặt sendmail mới trên Ubuntu 14.04. Các bản ghi DNS dường như là tốt cho ip. Một cái gì đó phải sai.

Gửi thư từ dòng lệnh:

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

Báo cáo dài dòng:

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

Bất kỳ trợ giúp là rất nhiều apreciated. Cảm ơn bạn trước.


Bạn đã xem lại tài liệu trong lỗi chưa?
Craig Watson

Phải, tất nhiên. Nó nói rằng dns ipv6 phải được đặt. Tôi đã làm như vậy và địa chỉ ipv6 trỏ đến tên miền.
merlin

Và tên máy chủ chuyển tiếp của bạn là?
Craig Watson

không chắc chắn những gì bạn có ý nghĩa với tên máy chủ chuyển tiếp. DNS ngược cho 2a01: 4f8: 212: 27c8 :: 2 được đặt thành staging.findix.com
merlin

3
Có vấn đề của bạn. staging.findix.com không có bản ghi AAA trỏ đến 2a01:4f8:212:27c8::2.
Craig Watson

Câu trả lời:


17

Theo quan điểm của Google, họ đang cố gắng xác minh danh tính của địa chỉ IP kết nối với họ, vì vậy họ sẽ cố gắng tra cứu PTRhồ sơ 2a01:4f8:212:27c8::2.

Khi họ giải quyết điều đó staging.findix.com, sau đó họ sẽ cố gắng kiểm tra xem điều này có giải quyết trở lại 2a01:4f8:212:27c8::2- điều mà nó không - xem kết quả tra cứu này .

Tra cứu ngược (bản ghi 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.

Tra cứu chuyển tiếp (Bản ghi)

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
Điều đó đầu tiên không hoàn toàn đúng; vì nhiều bản ghi A / AAAA có thể trỏ đến cùng một địa chỉ IP, điều đó là không thể. Điều cần thiết là bất cứ tên máy chủ nào mà bản ghi PTR của bạn trỏ tới, khi bạn tìm tên máy chủ đó, bạn sẽ quay lại địa chỉ ban đầu. Đó là, địa chỉ-> tên máy chủ-> vòng lặp địa chỉ phải được hoàn thành; tên máy chủ-> địa chỉ-> vòng lặp tên máy chủ không thể được đảm bảo và không ai nên quan tâm đến nó.
MadHatter hỗ trợ Monica

Cảm ơn bạn. Điều đó đã giải quyết vấn đề và tin nhắn từ thiết bị đầu cuối được gửi.
merlin

2
Dường như với tôi bạn trả lời "tại sao" nhưng không phải là "cách khắc phục". Cá nhân tôi không có đủ kiến ​​thức DNS cho câu trả lời này để giúp tôi.
Bob

1
Tôi đã phải thêm bản ghi AAAA cho địa chỉ IPv6 của mình từ thông báo lỗi google (2a01: 4f8: 212: 27c8 :: 2 trong trường hợp của bạn) vào máy chủ DNS của tên miền được hostnamelệnh trả về . Sau một thời gian (hết hạn vào ngày hôm sau), tôi đã có thể gửi email đến tài khoản của mình bằng lệnh này: sendmail -v -Am -i <my_gmal_account>@gmail.com;(và nhấn Ctrl + D).
Csongor Halmai

30
  1. Kiểm tra các giao thức hiện tại:

    postconf inet_protocols

    net_prot Protocol = tất cả

  2. Chỉnh sửa tệp cf nếu nó trả về all

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

    inet_prot Protocol = ipv4

  3. Khởi động lại

    service postfix restart

  4. Kiểm tra lại

    postconf inet_protocols

    inet_prot Protocol = ipv4


3
IMHO một giải pháp dễ dàng hơn nhiều so với giải pháp được chấp nhận. Nếu bạn không có nhu cầu cấp bách để sử dụng IPv6, đây có thể là một sửa chữa nhanh chóng.
Thanh quản Decidua

Điều này đơn giản hơn câu trả lời khác, mặc dù câu trả lời khác hoàn chỉnh hơn. Nó đã giải quyết vấn đề của tôi vì hiện tại tôi không cần IPv6.
javsmo

2

Tên máy chủ smtp của bạn có thể là một vấn đề. Nó dường như là trường hợp đối với tôi. POstfix bằng cách nào đó đã gửi một tên máy chủ đến smtp.gmail.com không liên quan đến tên miền smtp của tôi.


2

Tôi nghĩ rằng phản hồi của Google là một chút không lịch sự. Mặc dù "thông báo lỗi" của họ đề cập đến PTR, 550 5.7.1 là về chuyển tiếp. Tôi cũng đã gặp lỗi này khi cài đặt Postfix / Dovecot, nhưng tôi đã sửa nó qua một vài bước:

  1. Thêm thông tin IP IPv6 vào cấu hình ifcfg-eth0 của bạn trên máy chủ thư
  2. Thêm bản ghi AAAA MX trên DNS của bạn
  3. Thêm phạm vi IPv6 của tất cả "người gửi được ủy quyền" trong postfix / main.cf của bạn trên máy chủ thư của bạn.

Tôi có AT & T Business UVerse và họ không hỗ trợ IPv6 tĩnh cho PTR, nhưng sau khi thực hiện các bước trên, Google đã ngừng báo lỗi. Tôi đã sử dụng https://www.ultratools.com/ipv6Tools để chuyển đổi từ IPv4 sang IPv6. Cuối cùng, tôi kết hợp mọi thứ lại với nhau trên trang web của mình tại Kích hoạt IPV6 trên CentOS (để gửi và nhận thư)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.