/usr/bin/mail realiza um duplo fork para daemonizar sendmail para enviar o email. Este sendmail proc é conhecido por init , então normalmente ele não seria afetado por nada que acontece com o pai original - exceto no caso do systemd, que o neto de renome ainda está no mesmo cgroup do serviço original. Quando systemd destrói as coisas, ele mata todos os processos dentro do cgroup, incluindo o conhecido processo sendmail .
O comando mail correu bem, mas sendmail foi morto pelo systemd antes de ter a chance de fazer o que queria.
Você pode contornar isso definindo KillMode na seção Unit como process (o padrão é control-group ). Isso fará com que systemd apenas mate o processo que foi acionado diretamente.
Curiosamente, a maneira como eu tropecei nisso foi através do uso de strace . Um strace normal não revelou nada, mas o mail de repente começou a funcionar ao usar strace -f . strace -f estava fazendo com que o processo principal continuasse até que todas as crianças e netos órfãos tivessem se envolvido.