Когда вы запускаете php из cli, он запускается под учетной записью, в которую вы вошли в linux.Когда вы запускаете из Apache, php запускается как пользователь, под которым работает Apache, обычно «nobody»
Может быть несколько причин, по которым почта от «nobody» выходит из строя - некоторые фильтры нежелательной почты отклоняют ее.
Кроме того, я не уверен, что вы подразумеваете под «неудачами» - просто не полученное сообщение электронной почты не означает, что оно не было отправлено.Вы должны проверить свой почтовый журнал, обычно в / var / log / maillog, и сразу после запуска скрипта из браузера проверьте последние несколько строк в этом журнале, наберите
# tail -20 /var/log/maillog
и посмотрите, сможете ли вы найтиэлектронная почта либо отправлена, либо отклонена.Также подождите пару минут и проверьте этот журнал еще раз - ваш исходный адрес электронной почты может возвращаться как отклоненный с какого-либо почтового сервера, он будет содержать объяснение того, почему он был возвращен