Здравствуйте.
Помогите разобраться.
Есть почтовый сервер, на котором стоит Postfix в связке с Mysql и Postfixadmin.
Сама почта бегает нормально, без проблем.
Письма отправляются от имен вида <name@domain.ru>
НО!
Письма от локального системного рута (ну в которых система раз в сутки отправляет отчет о своем состоянии), который Charlie Root, отправляются от имени вида <root@name_server.domain.ru> и соответственно, попадают не туда (а в стандартный /var/mail/root), т.к. алиас от root@domain.ru не работает.
Где собака зарыта, как заставить локальные локальные письма отправляться от root@domain.ru?p.s. причем раньше, до обновления софта и пересборки ядра, все работало в этом плане правильно, и тут такой конфуз. (
имя сервера прописано в rc.conf в виде name.domain.ru
в конфигурационном файле Postfix'а main.cf в параметре myhostname стоит name.domain.ru, а в параметре myorigin стоит $mydomain.Подкажите, пожалуйста, чувствую, что проблема в какой-то ерунде, но понять никак не могу. (((
>[оверквотинг удален]
>
>p.s. причем раньше, до обновления софта и пересборки ядра, все работало в
>этом плане правильно, и тут такой конфуз. (
>
>имя сервера прописано в rc.conf в виде name.domain.ru
>в конфигурационном файле Postfix'а main.cf в параметре myhostname стоит name.domain.ru, а в
>параметре myorigin стоит $mydomain.
>
>Подкажите, пожалуйста, чувствую, что проблема в какой-то ерунде, но понять никак не
>могу. (((/etc/mail/aliases ?
>/etc/mail/aliases ?Думал уже, но есть такой же второй резервный почтовик, там настроено все было также, и работает правильно.
Сравнивал и там и там эти два файла - нет разницы вообще. (
>>/etc/mail/aliases ?
>
>Думал уже, но есть такой же второй резервный почтовик, там настроено все
>было также, и работает правильно.
>Сравнивал и там и там эти два файла - нет разницы вообще.
>(ну тогда в самом постфиксе смотреть алиасы
Думал уже, но есть такой же второй резервный почтовик.Может скрипты крона сравнить.
>Подкажите, пожалуйста, чувствую, что проблема в какой-то ерунде, но понять никак не
>могу. (((
>http://www.postfix.org/postconf.5.html#append_at_myoriginА не могли бы Вы прокомментировать? Я не совсем понял, что Вы этим хотели сказать. Заранее благодарен.
p.s. Postfix версии 2.6.2_1,1
>>http://www.postfix.org/postconf.5.html#append_at_myorigin
>
>А не могли бы Вы прокомментировать? Я не совсем понял, что Вы
>этим хотели сказать. Заранее благодарен.
>
>p.s. Postfix версии 2.6.2_1,1Судя по всему эти два абзаца:
append_at_myorigin (default: yes)
With locally submitted mail, append the string "@$myorigin" to mail addresses without domain information. With remotely submitted mail, append the string "@$remote_header_rewrite_domain" instead.Note 1: this feature is enabled by default and must not be turned off. Postfix does not support domain-less addresses.
Note 2: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:
The message is received with the Postfix sendmail(1) command,
The message is received from a network client that matches $local_header_rewrite_clients,
The message is received from the network, and the remote_header_rewrite_domain parameter specifies a non-empty value.
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".append_dot_mydomain (default: yes)
With locally submitted mail, append the string ".$mydomain" to addresses that have no ".domain" information. With remotely submitted mail, append the string ".$remote_header_rewrite_domain" instead.Note 1: this feature is enabled by default. If disabled, users will not be able to send mail to "user@partialdomainname" but will have to specify full domain names instead.
Note 2: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:
The message is received with the Postfix sendmail(1) command,
The message is received from a network client that matches $local_header_rewrite_clients,
The message is received from the network, and the remote_header_rewrite_domain parameter specifies a non-empty value.
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".
>>http://www.postfix.org/postconf.5.html#append_at_myorigin
>
>А не могли бы Вы прокомментировать? Я не совсем понял, что Вы
>этим хотели сказать. Заранее благодарен.
>
>p.s. Postfix версии 2.6.2_1,1Я ответил на твой вопрос. Так как локальная почта отправляется без домена, то вот он и добавляет myorigin к имени пользователя, вот ты и получаешь user@myorigin
>>>http://www.postfix.org/postconf.5.html#append_at_myorigin
>>
>>А не могли бы Вы прокомментировать? Я не совсем понял, что Вы
>>этим хотели сказать. Заранее благодарен.
>>
>>p.s. Postfix версии 2.6.2_1,1
>
>Я ответил на твой вопрос. Так как локальная почта отправляется без домена,
>то вот он и добавляет myorigin к имени пользователя, вот ты
>и получаешь user@myoriginВидимо, я не совсем правильно выразился или просто жутко туплю.
Вот смотрите какие параметры стоят:
myhostname = mail.example.ru
mydomain = example.ru
myorigin = $mydomain
Т.е. в myorigin у меня по идеи просто example.ru должен получаться, а не mail.example.ru
А у меня в итоге получается, что вся почта, которая отправляются системой в ящик рута (ну письма от Charlie Root), идет на адрес root@mail.example.ru, а не на root@example.ru и, соответсвенно, попадает в стандарный ящик системного рута в /var/mail/root, что мне абсолютно не надо, т.к. у меня сделан алиас, чтобы почта идущая на root@example.ru перенаправлялась на определенного юзера, но алиас перестал работать, т.к. почта идет не на root@example.ru, а на root@mail.example.ru
В то же время, вся остальная почта от обычный пользователей (пользователи виртуальные, а не системные) идет правильным образом с адресами вида user@example.ru, а вот что произошло с системной почтой я понять никак не могу. (
Note 2: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:* The message is received with the Postfix sendmail(1) command,
* The message is received from a network client that matches $local_header_rewrite_clients,
* The message is received from the network, and the remote_header_rewrite_domain parameter specifies a non-empty value.какое-либо из этих условий выполняется?
>[оверквотинг удален]
>only when one of the following conditions is true:
>
> * The message is received with the Postfix
>sendmail(1) command,
> * The message is received from a network
>client that matches $local_header_rewrite_clients,
> * The message is received from the network,
>and the remote_header_rewrite_domain parameter specifies a non-empty value.
>
>какое-либо из этих условий выполняется?Ну sendmail вообще по идеи отключен... там и в /etc/rc.conf стоят параметры
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
и в /etc/periodic.conf стоят:
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"Что касается параметра local_header_rewrite_clients, то он явным образом не указан в main.cf
Параметр remote_header_rewrite_domain тоже не затронут, да и сообщение локальное, а не из сети...
>[оверквотинг удален]
>>and the remote_header_rewrite_domain parameter specifies a non-empty value.
>>
>>какое-либо из этих условий выполняется?
>
>Ну sendmail вообще по идеи отключен... там и в /etc/rc.conf стоят параметры
>
>sendmail_enable="NO"
>sendmail_submit_enable="NO"
>sendmail_outbound_enable="NO"
>sendmail_msp_queue_enable="NO"это не то, тут имелось ввиду, что почта отправляется с помощь sendmail wrapper
# rpm -ql postfix | grep sendmail
/usr/lib/sendmail.postfix
/usr/sbin/sendmail.postfix
/usr/share/man/man1/sendmail.postfix.1.gz
>[оверквотинг удален]
>>sendmail_outbound_enable="NO"
>>sendmail_msp_queue_enable="NO"
>
>это не то, тут имелось ввиду, что почта отправляется с помощь sendmail
>wrapper
>
># rpm -ql postfix | grep sendmail
>/usr/lib/sendmail.postfix
>/usr/sbin/sendmail.postfix
>/usr/share/man/man1/sendmail.postfix.1.gz# pkg_info -L postfix-2.6.2_1,1 | grep sendmail
/usr/local/man/man1/sendmail.1.gz
/usr/local/sbin/sendmail
/usr/local/share/doc/postfix/sendmail.1.html
># pkg_info -L postfix-2.6.2_1,1 | grep sendmail
>/usr/local/man/man1/sendmail.1.gz
>/usr/local/sbin/sendmail
>/usr/local/share/doc/postfix/sendmail.1.html# cat /etc/mail/mailer.conf
?
>># pkg_info -L postfix-2.6.2_1,1 | grep sendmail
>>/usr/local/man/man1/sendmail.1.gz
>>/usr/local/sbin/sendmail
>>/usr/local/share/doc/postfix/sendmail.1.html
>
># cat /etc/mail/mailer.conf
>
>?# cat /etc/mail/mailer.conf
sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmail
>[оверквотинг удален]
>>?
>
># cat /etc/mail/mailer.conf
>sendmail /usr/libexec/sendmail/sendmail
>send-mail /usr/libexec/sendmail/sendmail
>mailq /usr/libexec/sendmail/sendmail
>
>newaliases /usr/libexec/sendmail/sendmail
>hoststat /usr/libexec/sendmail/sendmail
>purgestat /usr/libexec/sendmail/sendmailчто и требовалось доказать
пропиши
sendmail /usr/local/sbin/sendmail
... /usr/local/sbin/sendmail
... /usr/local/sbin/sendmail
>[оверквотинг удален]
>>hoststat /usr/libexec/sendmail/sendmail
>>purgestat /usr/libexec/sendmail/sendmail
>
>что и требовалось доказать
>
>пропиши
>
>sendmail /usr/local/sbin/sendmail
>... /usr/local/sbin/sendmail
>... /usr/local/sbin/sendmailЗдорово!
Приписалsendmail /usr/local/sbin/sendmail
send-mail /usr/local/sbin/sendmail
mailq /usr/local/sbin/sendmail
newaliases /usr/local/sbin/sendmailи все вернулось на круги своя. :) Видимо, хвост при обновлении остался, а я не додумался сюда заглянуть. (
Спасибо большое!