Я только что установил Postfix в своей Ubuntu, в локальной сети.
В этой сети у меня есть Exchange Server (с использованием домена 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
Ответы:
Ваш сервер пытается использовать IPv6 при отправке почты. Поскольку у
mail.example.com
него нет AAAA-записи (которая аналогична A-записи, но для IPv6), это не работает.Если вы хотите, чтобы Postfix никогда не использовал IPv6, вы можете изменить это в файле конфигурации, как объяснено на справочной странице postconf (5):
Если вы хотите изменить его только для этого домена, измените свою транспортную карту на
источник
inet_protocols = all
он не пытаетсяA
поиск, еслиAAAA
поиск не удается, что кажется бессмысленным. Кроме того, если вы измените это значение, вы должны перезапустить постфикс, а не просто перезагрузить.Простая конфигурация Postfix, которая работала для меня.
источник
Следующее изменение в /etc/postfix/main.cf решило проблему для меня.
Измените выше, чтобы
источник