X

Gmail: This message does not meet IPv6 sending guidelines regarding PTR records

При попытке отправить email со своего VPS получил вот такую ошибку: This message does not meet IPv6 sending guidelines regarding PTR records. Эта ошибка говорит о том, что Google не смог связать IPv6 адрес с доменом. В моем случае, это правильно, т.к. я такого маппинга и не делал. В этой статье расскажу как избавиться от этого в CentOS..

Сама ошибка находится в файле /var/log/mail и ее полный текст такой

Apr 5 16:20:26 server-001 postfix/smtp[31323]: 36794DDD07: to=<email@gmail.com>, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c0b::2a]:25, delay=0.34, delays=0.03/0.02/0.05/0.25, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[2a00:1450:400c:c0b::2a] said: 550-5.7.1 [2a01:4f8:c2c:7935::1] 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=IPv6AuthError for more information 550 5.7.1 . l1si13387950wro.567 - gsmtp (in reply to end of DATA command))

Теперь немного теории

  • DNS записи = записи которве используются для преобразования доменного имени в ip-адрес
  • A запись = используется для преобразования ДОМЕН -> IP
  • PTR запись = используется для преобразования IP -> ДОМЕН

Я не полностью уверен, в том как это работает, но на одном из этапов Google пытается преобразовать наш IPv6 адрес в домен, вероятно у него это получается (или не получается), но в итоге те результаты которые он получает не совпадают с нашим доменом. В моем случае это именно так, тк я не настраивал никаких записей на работу с IPv6.

Чтобы долго со всем этим не разбираться, я решил просто вырубить IPv6 как это делал уже сто раз ранее. В этот раз у меня был CentOS, поэтому все последующие команды и пути ориентированы на этот дистрибутив.

Я проверил, что на сервере действительно назначены эти IPv6 адреса

# ifconfig -a | grep inet6
inet6 fe80::9400:ff:fa29:9ffd  prefixlen 64  scopeid 0x20<link>
inet6 2a01:4f8:c2c:7836::1  prefixlen 64  scopeid 0x0<global>
inet6 ::1  prefixlen 128  scopeid 0x10<host>

Далее, я прописал отключение в sysctl.conf

# mcedit /etc/sysctl.conf

и в самый конец добавляем

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

теперь, применяем эти правки

# sysctl -p

теперь проверяем активность IPv6 адресов и видим что они исчезли

# ifconfig -a | grep inet6
<нет-результатов>

вот и отлично.

Далее просто повторяем отправку и видим в /var/log/mail, что письма начали отправляться. В случае, если по прежнему не видите писем в Gmail, не забудьте проверить папку Спам.

Категории: Linux