While working on signing PHPs outgoing mail with a DKIM signature that Yahoo now considers a necessity if you want your email to arrive at the inbox, i came across a problem.
Whenever i add the fifth parameter to the mail function, -f mail@domain.com to change the default envelope sender, PHP mail returns a false meaning mail was not sent
After trying to change the sendmail line in php.ini to remove the -i then removed the -t then removed both, then checked the lists such as /etc/mail/trusted-users and so forth but with no change, i wrote a wrapper around sendmail to log what is coming in and what is going out, and to my surprise, it is not sendmail that says NAY, nothing is arriving at the wrapper when the fifth param is added, so it seems the problem is PHP itself and not sendmail
Simply turning off SAFE MODE resolved the issue, and here i am trying to spare you the need to look everywhere when the answer was something i should have checked before i start.