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
задан 3 June 2019 в 02:50

1 ответ

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

спасибо kenene в архиве форума ubuntu для этого.

0
ответ дан 18 December 2020 в 16:40

Другие вопросы по тегам:

Похожие вопросы: