Então, o problema aqui não está relacionado com o postfix. O postfix no lado do servidor se comporta corretamente, mas o cliente de e-mail se comporta mal.
Por padrão, o mail
command irá usar a variável de ambiente $MAIL
para determinar a localização da caixa de correio ( a menos que você diga explicitamente usando o parâmetro -f
). No shell bash do CentOS, o valor padrão da variável $ MAIL é /var/spool/mail/$USER
. Snippet de man mail
.
Is used as the user's mailbox, if set. Otherwise, a system-dependent default is used. Can be a protocol:// string (see the folder command for more information).
O OP declara no comentário que usou su myuser
do usuário root para alterar o usuário no shell. Infelizmente, isso tem algum efeito. A variável $ MAIL ainda aponta para /var/spool/mail/root
. Portanto, o caminho da caixa de correio não mudou, mas o previlige foi descartado para um usuário não raiz.
Para resolver o problema, você pode usar su -l myuser
para alterar o usuário no shell. Snippet de man su
.
-, -l, --login
make the shell a login shell
Sem -l
, a variável de ambiente não será alterada.
Conclusão: ambos os softwares (postfix e bsd-mailx) foram comportados corretamente. O problema é o OP que falha ao definir a variável de ambiente antes de alterar o usuário.