sendmail не може доставити gmail - IPv6 вказівки щодо відправлення записів щодо записів PTR не виконані


32

У мене виникають проблеми з доставкою пошти в Google зі свіжої установки sendmail на ubuntu 14.04. Записи DNS здаються відмінними для ip. Щось ще має бути не так.

Надсилання пошти з командного рядка:

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

Докладний вихід:

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

Будь-яка допомога дуже цінується. Спасибі заздалегідь.


Ви перевірили документ з помилкою?
Крейг Уотсон

так, звісно. У ньому йдеться про те, що ipv6 dns потрібно встановити. Я зробив це так, і адреса ipv6 вказує на доменне ім’я.
merlin

А ваше пряме ім'я хоста є?
Крейг Уотсон

не впевнений, що ви маєте на увазі під іменем хоста вперед. Зворотний DNS для 2a01: 4f8: 212: 27c8 :: 2 встановлено на staging.findix.com
merlin

3
Там у вас проблема. staging.findix.com не має записи AAA, що вказує на 2a01:4f8:212:27c8::2.
Крейг Уотсон

Відповіді:


17

З точки зору Google, вони намагаються перевірити ідентифікацію підключеної до них IP-адреси, тому вони спробують шукати PTR запис 2a01: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, коли ви шукаєте ім'я хоста, ви повинні повернутися до вихідної адреси. Тобто адреса-> ім'я хоста-> цикл адреси повинен бути повним; петлю імені хоста-> адресу-> петлю імені хоста не можна настільки гарантувати, і ніхто не повинен про це піклуватися.
MadHatter підтримує Моніку

Дякую. Це вирішило проблему, і повідомлення з терміналу надходять.
merlin

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

30
  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
ІМХО набагато простіше рішення, ніж прийняте. Якщо у вас немає необхідності використовувати IPv6, це може бути швидким виправленням.
Laryx Decidua

Це простіше, ніж інша відповідь, хоча інша є більш повною. Це вирішило мою проблему, оскільки мені зараз не потрібен IPv6.
javsmo

2

Ім’я вашого хоста smtp може бути проблемою. Мені здавалося, що це так. POstfix якось надсилав ім'я хоста на smtp.gmail.com, що не стосується мого доменного імені smtp.


2

Я думаю, що реакція Google дещо обережна. Незважаючи на те, що їхнє повідомлення про помилку згадує PTR, 550 5.7.1 стосується ретрансляції. Я теж отримував цю помилку при встановленні Postfix / Dovecot, але я виправив її через кілька кроків:

  1. Додавання IP-інформації IPv6 до вашого конфігурації ifcfg-eth0 на поштовому сервері
  2. Додавання запису AAAA MX на ваш DNS
  3. Додавання діапазонів IPv6 усіх "авторизованих відправників" у ваш поштовий індекс / main.cf на вашому поштовому сервері.

У мене є AT&T Business UVerse, і вони не підтримують статичний IPv6 для PTR, але після виконання вищезазначених кроків Google перестав помилятися. Я використовував https://www.ultratools.com/ipv6Tools для перетворення з IPv4 в IPv6. Нарешті, я все зібрав у практичній формі на своєму веб-сайті в розділі Включення IPV6 в CentOS (для надсилання та отримання пошти)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.