Si certains mails ne passent pas, supposément parce qu'ils sont en "userunix@localhost" et ce même si le header From: est juste, c'est probablement une histoire de Sender/Return-Path, eux aussi validés par les MTA.
504 5.5.2 wp@localhost: Sender address rejected: need fully-qualified address
Il ne faut pas s'acharner sur mail/sendmail/php mail(). Ce champ est ajouté par le MTA local.
Plusieurs options sont listées dans la page liée. Pour moi, il a suffit de corriger /etc/mailname en mettant quelque chose de valide (oui j'aurais pu y penser au début, avant de passer 2h sur le problème…).