Отправка почты, что такое PTR запись, этапы настройки почтового сервера
Для корректной отправки почты с вашего сервера на внешний IP адрес должна быть прописана PTR запись (прописывается в reverse зоне провайдера, владеющего этим IP - грубо говоря звоним провайдеру и говорим чтобы он прописал требующуюся PTR запись).
(RFC1912 п. 2.1) PTR'ы не имеющие соответствующих им пар (A-record) в зоне прямого просмотра НЕ ДЕЙСТВИТЕЛЬНЫ.
PTR
PTR-запись (от англ. pointer – указатель) связывает IP хоста с его каноническим именем. Запрос в домене in-addr.arpa на IP хоста в обратной форме вернёт имя данного хоста. Например, (на момент написания), для IP адреса 192.0.34.164: запрос записи PTR 164.34.0.192.in-addr.arpa вернет его каноническое имя referrals.icann.org.
in-addr.arpa
in-addr.arpa — специальная доменная зона, предназначенная для определения имени хоста по его IPv4-адресу, используя PTR-запись. Адрес хоста AAA.BBB.CCC.DDD транслируется в обратной нотации и превращается в DDD.CCC.BBB.AAA.in-addr.arpa. Благодаря иерархической модели управления именами появляется возможность делегировать управление зоной владельцу диапазона IP-адресов. Для этого в записях авторитативного DNS-сервера указывают, что за зону CCC.BBB.AAA.in-addr.arpa (то есть за сеть AAA.BBB.CCC/24) отвечает отдельный сервер.
Использование
В целях уменьшения объёма нежелательной почтовой корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR записи для хоста, с которого происходит отправка. В этом случае PTR запись для IP адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP сессии.
Как посмотреть:
nslookup
Что бы посмотреть PTR запись в ОС Windows необходимо открыть командную строку (Пуск->Выполнить->cmd) и набрать в ней
nsloopup -type=PTR ip-адрес
Например:
$ nslookup -type=PTR 80.93.62.122
Server: 192.168.192.168
Address: 192.168.192.168#53
Non-authoritative answer:
122.62.93.80.in-addr.arpa name = mx2.z8.ru.
dig
В unix-подобных системах необходимо открыть командную строку (терминал) и выполнить команду
dig -x ip-адрес
Например:
$ dig -x 80.93.62.122
; <<>> DiG 9.6.1-P1 <<>> -x 80.93.62.122
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20049
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;122.62.93.80.in-addr.arpa. IN PTR
;; ANSWER SECTION:
122.62.93.80.in-addr.arpa. 3489 IN PTR mx2.z8.ru.
;; Query time: 0 msec
;; SERVER: 192.168.192.168#53(192.168.192.168)
;; WHEN: Fri Jan 22 18:54:31 2010
;; MSG SIZE rcvd: 66
Развернутый ответ про этапы настройки почтового сервера
Вопрос:
Какие атрибуты должен иметь почтовый сервер, чтобы почта отправлялась напрямую (по MX) без проблем на ВСЕ сервера получателей ?
Ответ:
В нынешней обстановке, в услових, когда объем SPAMа порой в десятки-сотни раз превышает объем полезной почты и буйствуют
почтовые вирусы, администраторы почтовых серверов совершенно законно фильтруют входящий почтовый траффик своих серверов
средствами Reverse lookup (обратый просмотр) и общедоступных блокировочных баз.
Чтобы почта БЕЗ ПРОБЛЕМ отправлялась без посредничества других серверов нужно:
-------------------------------
1. Иметь честный статический IP с постоянным подключением к интернет.
2. Ваш IP НЕ должен быть одним из типов - Dialup, PPP, Modem/Cable modem, xDSL, Dynamic, DHCP. Эти типы IP "not trusted"
и являются источником 90% спама, наврядли вы сможете что-то отправить имея такой IP. Кроме того провайдеры таких IP сами
сознательно вносят их в блокировочные базы и требуют отправки ВСЕЙ исходящей от них почты через свои релаи.
3. На Ваш внешний IP должен быть прописан PTR (прописывается в reverse зоне провайдера, владеющего этим IP). Он должен
указывать на FQDN хоста (см. п.4). Если Ваш IP multi-homed то PTR'ы должны быть прописаны ДЛЯ ВСЕХ имен хостов,
использующих этот IP. (RFC1912 п. 2.1) PTR'ы не имеющие соответствующих им пар (A-record) в зоне прямого просмотра НЕ
ДЕЙСТВИТЕЛЬНЫ.
4. Должен быть прописан hostname для внешнего IP сервера (A-запись в зоне домена, чьим MX является Ваш почтовый сервер).
Его полное имя есть Fully qualified domain name (FQDN) (т.е. хост
имеет FQDN=
5. Строка HELO сервера должна содержать FQDN хоста. FQDN разрешается поиском в глобальном DNS во внешний IP этого хоста.
(см. п.4) (RFC2821)
6. ВСЕ имена должны быть доступны в любой точке интернет и однозначно разрешаться поиском в глобальном DNS (от root).
Все имена, которые не разрешаются поиском от root являются локальными алиасами. Использование локальных алиасов и локальных
имен, а также усеченных (не полных) имен в SMTP сессиях - ЗАПРЕЩЕНО. (RFC2821)
7. Имена в зонах прямого и обратного просмотра и IP должны взаимно и однозначно указывать друг на друга. (RFC1912).
см. также:
Что такое RFC?
http://www.faqs.org/rfcs/rfc1912.html
http://www.faqs.org/rfcs/rfc2821.html
Как прописать PTR для моего IP ?
---------------------------------
Например:
Есть общедоступный домен mydomain.ru, хочется иметь почтовый сервер, который будет напрямую принимать и отправлять почту,
назовем хост именем mx1 (FQDN=mx1.mydomain.ru) и будет установлен на внешний IP=1.2.3.4, тогда
В зоне провайдера (зона <3.2.1.in-addr.arpa>, возможны варианты зависит от класса сети...):
Код:
4.3.2.1.in-addr.arpa. PTR mx1.mydomain.ru
В зоне родительского домена (зона
Код:
mx1 A 1.2.3.4
@ MX 10 mx1
В HELO сервера (см. настройки Primary domain в MDaemon)
Код:
mx1.mydomain.ru
При таких записях любые, даже самые придирчивые, проверки дадут положительный результат, т.к.
IP=1.2.3.4 --> PTR=mx1.mydomain.ru = HELO = mx1.mydomain.ru --> A=1.2.3.4=IP
Кольцо замкнулось - 100% совпадение. Нет НИКАКИХ причин для отказа в приеме почты (если конечно Вы лично не насолили кому-то...)
ОТСУТСТВИЕ ИЛИ НЕСООТВЕТСТВИЕ ХОТЯ БЫ ОДНОГО ЭЛЕМЕНТА ЭТОЙ ЦЕПОЧКИ МОГУТ ПОСЛУЖИТЬ ПРИЧИНОЙ ОТКАЗА В ПРИЕМЕ ПОЧТЫ.