Postfix - Хост або домен не знайдено


22

Я щойно встановив Postfix на своєму Ubuntu в локальній мережі.

У цій мережі у мене є сервер Exchange (за допомогою домену mail.example.com). У мене виникла проблема з надсиланням електронного листа на локальну адресу adress@example.com::

relay=none, delay=0.01, delays=0.01/0/0/0, dsn=4.3.5, status=deferred 
(Host or domain name not found. Name service error for name=example.com
type=AAAA: Host found but no data record of requested type)

Я вирішив цю проблему за допомогою relay_domainсвого Postfix main.cf:

relay_domains = example.com
transport_maps = hash:/etc/postfix/transport

А в моїх /etc/postfix/transport:

example.com smtp:[mail.example.com]

Тепер я можу надсилати пошту @example.com, і я протестував деякі основні веб-листи (Gmail, Yahoo, Hotmail ...). Це працює. Але чому я отримав цю помилку на своїх адресах @example.com? Як я можу бути впевненим, що я ніколи не знайду цю помилку в іншому домені?

Моя конфігурація Postfix:

postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = SRVWEB, localhost.localdomain, localhost
myhostname = SRVWEB
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relay_domains = mutuelle-var.fr
relayhost =
smtp_generic_maps = hash:/etc/postfix/generic
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport

Чи можете ви додати запитання postconf -n до питання?
ALex_hha

Ви використовуєте ipv6?
ALex_hha

Я змінив конфігурацію Postfix, щоб зараз використовувати лише ipv4. Зачекайте і подивіться ..
Вінсент ЛІТУР

Відповіді:


33

Ваш сервер намагається використовувати IPv6 під час надсилання пошти. Оскільки у mail.example.comнього немає AAAA-запису (який такий самий, як A-запис, але для IPv6), він не працює.

Якщо ви хочете, щоб Postfix ніколи не використовував IPv6, ви можете змінити це в конфігураційному файлі, як це пояснено на головній сторінці postconf (5):

When IPv6 support is enabled via the inet_protocols parameter,  Post-
fix will do DNS type AAAA record lookups.

When  both IPv4 and IPv6 support are enabled, the Postfix SMTP client
will attempt to connect via IPv6 before attempting to use IPv4.

Examples:

inet_protocols = ipv4
inet_protocols = all (DEFAULT)
inet_protocols = ipv6
inet_protocols = ipv4, ipv6

Якщо ви хочете змінити його лише для цього домену, змініть свою транспортну карту на читання

example.com smtp-ipv4:[mail.domain.com]

Дякую за це пояснення! Я прочитав документацію французькою мовою, в якій сказано, що ipv4 - це конфігурація DEFAULT. Я ставлю ipv4 зараз, і я перезавантажив Postfix, здається, працює. Знову дякую !
Вінсент ЛІТУР

Це залежить від того, яку версію Postfix ви використовуєте - я не пригадую, для якої версії за замовчуванням використовується, але я знаю, що вони змінили її хоча б один раз.
Дженні Д каже, що поверніть Моніку

7
Збій не з’єднання, але пошук DNS, який передує йому. Коли я маю, inet_protocols = allвін не намагається Aшукати, якщо AAAAпошук не працює, що здається безглуздим. Крім того, якщо ви зміните це значення, ви повинні перезапустити постфікс, а не просто перезавантажити.
Синхро

0

Проста конфігурація Postfix, яка працювала для мене.

/etc/postfix/main.cf

myhostname = localhost.testing.com
myorigin = testing.com
relayhost =
inet_protocols = ipv4
inet_interfaces = loopback-only
mydestination =

-5

Наступна зміна в /etc/postfix/main.cf вирішила проблему для мене.

inet_protocols = ipv6 

Змініть вищевказане на

inet_protocols = all

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