Похоже, у msmtp есть способ определить конфигурацию для всей системы, чтобы www-data могла действительно запустить команду и получить нужные мне электронные письма. Любовь MSMTP.
Edit: Вот моя быстрая и грязная функция, чтобы делать то, что я хотел, в случае, если кому-то это понадобится позже. Я настоятельно рекомендую вам больше проверять ошибки.
function msmtp($To, $Subject, $Body, $Headers, $Account) {
$Email = "To: $To\nSubject: $Subject\n$Headers\n\n$Body\n";
exec("echo '$Email' | msmtp --account=$Account $To");
}
Очень похоже на функцию mail mail () PHP, поэтому вы отправляете электронное письмо в виде stevejobs для оплаты счетов следующим образом, используя учетную запись msmtp «apple»:
msmtp ("billgates@microsoft.com", " Эй, пожалуйста, прочитайте это", "Вы слишком богаты, дайте мне все свои деньги ", " От: stevejobs@apple.com "," apple")