Estou executando um pequeno servidor LAMP no Ubuntu. Em algum momento, preciso de um script php para enviar um email usando o Mutt. Eu uso uma chamada de sistema do script php como esta
mutt -s $file1 -a threedplot.jpeg -a velocityvstime.jpeg -a elossperstep.jpeg -a input.txt -a output.txt -- $email < /var/www/html/emailmessage.txt
Onde todas as variáveis e arquivos são definidos adequadamente (esta linha está em runner.sh). Quando executo o comando na linha de comando como usuário do Ubuntu, não há problema e o email é enviado. Mas quando o php tenta executá-lo com uma chamada de sistema,
$last_line = system("./runner.sh Queued/", $retval);
apenas diz "Não foi possível enviar a mensagem". Suspeito que isso ocorra porque o php é executado no usuário www-data, que pode não ter as permissões adequadas. Existe uma maneira de adicionar o usuário www-data para que ele tenha acesso total ao Mutt? Obrigado
Responder1
seu problema é que quando o mutt tenta enviar a mensagem, ele também tenta salvá-la em uma pasta enviada. Como está sendo executado como usuário web/usuário www/usuário apache ou similar, isso falha. A correção é usar um arquivo de configuração mutt local (especificado com -F em sua linha mutt) e certificar-se set copy=no
de que esteja nesse arquivo de configuração.
graças ao Kenene emarquivo de formulário do Ubuntu por esta.