postfix: продолжает добавлять имя домена отправителю

У меня есть два сервера с одинаковыми настройками. Первый отправляет почту нормально, другой не будет отправлять почту. Похоже, проблема в отправителе. Когда я отправляю местную почту, используя:

echo 'Message' | mailx -s 'Test' info@domain.com

в журнале постфикса он будет читать:

from=<root@subdomain.domain.com.domain.com>

в то время как на первом сервере это правильно читает:

from=<root@subdomain.domain.com>

Я проверил /etc/hostname, /etc/hostsпроверил правильный mydomain а также myhostname с postconfig, Выход из postconf -n точно так же:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
relayhost = [host.relay.com]:587
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_use_tls = yes
unknown_local_recipient_reject_code = 550

mail.cf устанавливается на все значения по умолчанию, за исключением добавления relayhost и SASL.

Я пытался установить mydomain а также myhost явно в main.cf но это, кажется, игнорируется, так как root: root@subdomain.domain.com в /etc/aliases а затем делать newaliases и перезапуск postfix ничего не меняет.

Я также пытался отправить письмо с помощью скрипта PHP, без разницы.

main.cf на сервере 1 точно так же, как на сервере 2, они работают под управлением одной и той же системы (CentOS 7) и программного обеспечения. Единственное отличие состоит в том, что они находятся в разных доменах (например, subdomain.domain1.com и subdomain.domain2.com), так что это может быть возможным, но, похоже, далеко не уместно.

Тем не менее, сервер 1 может отправлять почту отлично, используя mailx Команда выше, а также из вышеупомянутого скрипта PHP (который является не чем иным, как простым mail() команда.

Что может привести к тому, что postfix, по-видимому, игнорирует настройки домена / хоста, но выбирает правильные значения, но настаивает на добавлении домена к адресу отправителя?

1 ответ

Решение

Ответ DNS.

Первая подсказка была в журналах, где я заметил, что на самом деле именно sendmail, а не postfix, упоминал сначала неправильный адрес.

С некоторой прибылью я обнаружил, что sendmail, при обнаружении ошибок при разрешении домена, по-видимому, предлагает комбинацию host + domain. Проверяя мою конфигурацию DNS, я заметил две вещи: я еще не настроил обратный DNS и не указал запись AAAA (IPv6) для субдомена, который используется сервером.

После добавления, как sendmail, так и postfix, где используется правильный адрес, без добавления домена.

Другие вопросы по тегам