PHP 스크립트에서 이메일을 보내는 중입니다. mail()
기능이 트리거되면 수신자의 사서함이 특정 서비스(seznam.cz)에 의해 호스팅되고 메시지가 메일 클라이언트(Mozilla Thunderbird)에 다운로드되어 ESET Antivirus에서 확인되면 메시지가 손상된 것으로 나타납니다.
이 문제는 바이러스 백신 소프트웨어가 메일 메시지에 특수 헤더를 삽입하고 그 뒤에 빈 줄을 남겨두기 때문에 발생한다고 생각합니다.
으아악내 이메일 클라이언트는 메시지가 일반 텍스트라고 생각하고 X-PHP-Originating-Script
라는 줄로 시작합니다. 메시지의 나머지 부분에는 모든 HTML 마크업이 포함됩니다.
이메일을 보내는 데 사용하는 스크립트는 다음과 같습니다.
으아악그러나 Laravel 프레임워크를 사용하면 이메일이 올바르게 전송되고 표시됩니다. 차이점을 비교한 결과 X-PHP-Originating-Script
헤더가 Laravel에서 전송되지 않는다는 것을 깨달았습니다.
이것이 이유일까요? 어떻게 해결할 수 있나요?
P粉5739437552023-09-08 00:38:50
단순히 다른 줄 구분 기호의 문제일 수도 있습니다.
PHP 7.4까지 X-PHP-Originating-Script 뒤의 구분 기호는 단지 n
이었습니다(이것은 PHP 8n
(这已更改 在 PHP 8 中使用 rn
에서 를 사용하고 더욱 최근에는 master
rn
다른 모든 헤더는
n
和 r
모든 문자(
mail.add_x_header = Off
X-PHP-Originating-Script해결책은 PHP 버전의 줄 끝을 일치시키거나 php.ini에서 모든