PHP를 통한 Mutt, 메시지를 보낼 수 없음

PHP를 통한 Mutt, 메시지를 보낼 수 없음

저는 우분투에서 작은 LAMP 서버를 실행하고 있습니다. 어떤 시점에서는 Mutt를 사용하여 이메일을 보내려면 PHP 스크립트가 필요합니다. 나는 다음과 같이 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에 있음) 우분투 사용자로 명령줄에서 명령을 실행하면 문제가 없으며 이메일이 전송됩니다. 하지만 PHP가 시스템 호출로 이를 실행하려고 하면,

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

그냥 "메시지를 보낼 수 없습니다"라고 뜹니다. 나는 이것이 적절한 권한이 없을 수 있는 www-data 사용자에서 PHP가 실행되기 때문이라고 생각합니다. www-data 사용자를 추가하여 Mutt에 대한 전체 액세스 권한을 부여할 수 있는 방법이 있나요? 감사해요

답변1

문제는 mutt가 메시지를 보내려고 할 때 보낸 폴더에도 메시지를 저장하려고 한다는 것입니다. web-user/www user/apache user 또는 이와 유사한 권한으로 실행 중이므로 실패합니다. 해결 방법은 로컬 mutt 구성 파일(mutt 행에 -F로 지정)을 사용하고 set copy=no해당 구성 파일에 있는지 확인하는 것입니다.

kenene on님 덕분에우분투 포럼 아카이브 이를 위해.

관련 정보