PHP 스크립트로 리디렉션 된 특정 이메일 주소로 수신 이메일을 보내려고합니다. 나는 주소와 도메인 정보가있는 Postfix를 MySql에 저장하고있다.접미어 별칭과 MySQL로 파이핑
에서의/etc/별칭 :
#Other aliases
php_mail_handler: "| /usr/bin/php -q /home/mysite/htdocs/mail_handler.php"
이 어느 정도 작동하는 것 같다 내가 배관은 MySQL의 테이블에서 할 수없는 생각으로, 주소는 시스템 별칭 테이블 내에서 페어링 /var/log/mail.info가 들어 있으므로 다음
Jul 17 14:53:29 mysite postfix/qmgr[21974]: 39F726888003: from=<[email protected]>, size=1476, nrcpt=1 (queue active)
Jul 17 14:53:30 mysite postfix/local[21981]: 39F726888003: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=0.95, delays=0.28/0.01/0/0.66, dsn=2.0.0, status=sent (delivered to command: /usr/bin/php -q /home/mysite/htdocs/mail_handler.php)
그러나, PHP 스크립트가 (이 로그 파일에 표준 입력에 타임 스탬프 아무것도 기록) 실행하지 않습니다. 스크립트는 명령 행 또는 아파치를 통해 호출 될 때 작동합니다. 그 코드는 다음과 같습니다 :
왜 작동하지 않거나 디버깅하는 방법에 대한 아이디어가 있습니까? PHP 오류 로그에 오류가 나타나지 않으므로 CLI의 php.ini에 지정했습니다.
많은 감사,
매트
나는 이제 'nobody'를 사용하여 실행하려고 시도했으며 이는 권한 오류로 인해 로그 파일을 열 때 실패하므로 명확하게 오류가있는 곳입니다. 내 로그 파일과 디렉토리, 디렉토리는 chmod 0777입니다. 오류를 해결하려면 어떻게해야합니까? 당신의 도움을 주셔서 감사합니다. – matfr
당신은/tmp에 로그온을 시도 할 수 있습니다. 생성 된 파일은 최소한 디버깅을 위해 생성자가 소유합니다. 진정한 장기적인 솔루션을 얻으려면 디렉토리와 그의 부모에 대한 충분한 권한 (그리고 777 가지의 권리를 부여하십시오)을 찾아야합니다 (아마 모든 부모 디렉토리에 x 권한이 필요합니다) – regilero