$ uname -a
Linux xxxx 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux
$ cat /etc/aliases
# See man 5 aliases for format
postmaster: root
root: root@xxxx.xxxx
электронное письмо никто не получил.
$ sudo mail -f /var/spool/mail/nobody
"/var/spool/mail/nobody": 23 messages 1 new 19 unread
1 Anacron Tue Jan 9 00:07 20/823 Anacron job
'cron.daily' on xxxx
From: Anacron <root@xxxx.xxxx>
To: root@xxxx.xxxx
Subject: Anacron job 'cron.daily' on xxxx
Content-Type: text/plain; charset=UTF-8
Почему письмо, отправленное на root, никому не перенаправляется?
$ sudo mail -f /var/spool/mail/root
/var/spool/mail/root: 0 messages
Нет электронной почты в почтовом ящике root.
Отправьте электронное письмо root для проверки.
$ echo "This is the body of the email" | mail -s "This is the subject line" root
Все они могут получить электронное письмо.
$ sudo mail -f /var/spool/mail/root
$ sudo mail -f /var/mail/root
$ sudo mail -f /root/Maildir
Только никто не может получить электронное письмо.
$ sudo mail -f /var/spool/mail/nobody
Информация для входа в /var/log/mail.log
$ sudo cat /var/log/mail.log
Apr 27 17:48:43 xxxx postfix/pickup[7114]: 1FE0D2801E3: uid=1000 from=<debian9@xxxx.xxxx>
Apr 27 17:48:43 xxxx postfix/cleanup[7492]: 1FE0D2801E3: message-id=<20180427094843.1FE0D2801E3@xxxx.xxxx>
Apr 27 17:48:43 xxxx postfix/qmgr[1394]: 1FE0D2801E3: from=<debian9@xxxx.xxxx>, size=360, nrcpt=1 (queue active)
Apr 27 17:48:43 xxxx postfix/local[7494]: 1FE0D2801E3: to=<root@xxxx.xxxx>, relay=local, delay=0.21, delays=0.17/0/0/0.04, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Apr 27 17:48:43 xxxx postfix/qmgr[1394]: 1FE0D2801E3: removed
Почему postfix никому не перенаправляет электронную почту от root?
Как говорится в некоторых материалах:
procmail
Почта root никому не доставляется. Если вы используете procmail (или другую команду) для локальной доставки почты, Postfix не будет доставлять почту как root. Вместо этого Postfix запускает procmail (или что-то еще) как никто. Возможно, когда-нибудь Wietse будет доверять Postfix достаточно, чтобы запускать внешние команды от имени пользователя root.
Postfix не только запускает procmail (или что-то еще) от имени пользователя root, но и никому не доставляет почту с правами root.
Некоторые старые материалы в сети: Странная доставка в конфигурации postfix / procmail
Собственный агент доставки Postfix может доставлять почту в почтовый ящик root, но postfix НИКОГДА не будет форкнуть внешнюю программу (например, procmail) с правами root. он либо меняет UID на владельца доставляемой почты, либо, если этот пользователь является пользователем root, он меняет UID на none.
Таким образом, procmail запускается как никто при доставке почты root.
Проверьте наличие файла с именем $HOME/.forward
. Если этот файл существует и содержит адрес электронной почты или локальное имя пользователя, то входящая почта для пользователя, владеющего файлом, будет перенаправляться на указанный адрес.
Например, это может выглядеть так:
debian9@hwy:~$ sudo cat /root/.forward
nobody
debian9@hwy:~$