하나의 Apache 가상 호스트에서 PHP 메일 기능을 비활성화하는 방법은 무엇입니까?

하나의 Apache 가상 호스트에서 PHP 메일 기능을 비활성화하는 방법은 무엇입니까?

Apache2 가상 호스트 구성 파일을 통해 PHP 기능 메일을 비활성화하고 싶습니다. 모든 가상 호스트가 아닌 하나의 가상 호스트에 대해 이 작업을 수행하고 싶고 php.ini에서 이 기능을 비활성화하고 싶지 않습니다.

올바르게 수행하는 방법은 무엇입니까?

미리 감사드립니다!

답변1

이것을 가상 호스트에 추가했습니다.

<Directory /dir/to/your/web/root>
...
        php_admin_value sendmail_path "tee mail.out > /dev/null"
...
    </Directory>

효과가 있었어요!

답변2

가상 호스트별로 PHP 시스템 호출을 비활성화할 수 없습니다.

그러나 다음을 수행할 수 있습니다.

  • 이 가상 호스트를 컨테이너에 넣고 거기에서 sendmail을 비활성화합니다(방법은 MTA 비활성화에서 sendmail바이너리를 완전히 제거하는 것까지 시작합니다).
    이는 제한이 없는 방법입니다.
  • PHP는 인터프리터 언어이므로 이 줄 mail(에서 발생하는 모든 항목을 찾아 fgrep -R주석 처리할 수 있습니다.
    그러나 이는 사전 컴파일된 솔루션에서는 작동하지 않습니다.

관련 정보