Mutt через PHP, не удалось отправить сообщение

Mutt через PHP, не удалось отправить сообщение

Я запускаю небольшой сервер LAMP на Ubuntu. В какой-то момент мне понадобился скрипт php для отправки письма с помощью Mutt. Я использую системный вызов из скрипта php, как этот

mutt -s $file1 -a threedplot.jpeg -a velocityvstime.jpeg -a elossperstep.jpeg -a input.txt -a output.txt -- $email < /var/www/html/emailmessage.txt

Где все переменные и файлы определены соответствующим образом (Эта строка находится в runner.sh). Когда я выполняю команду из командной строки как пользователь ubuntu, проблем не возникает и электронное письмо отправляется. Но когда php пытается выполнить его с помощью системного вызова,

$last_line = system("./runner.sh Queued/", $retval);

он просто говорит "Не удалось отправить сообщение". Я подозреваю, что это потому, что php работает на пользователе www-data, у которого может не быть соответствующих прав. Есть ли способ добавить пользователя www-data, чтобы у него был полный доступ к Mutt? Спасибо

решение1

Ваша проблема в том, что когда Mutt пытается отправить сообщение, он также пытается сохранить его в папке отправленных. Поскольку он работает как web-user/www user/apache user или что-то подобное, это не удается. Исправление заключается в использовании локального файла конфигурации Mutt (указанного с помощью -F в строке Mutt) и в том, чтобы убедиться, что set copy=noон находится в этом файле конфигурации.

благодаря kenene наархив ubuntu forlum для этого.

Связанный контент