손상된 헤더를 보내는 PHP 메일
P粉979586159
P粉979586159 2023-09-07 10:43:50
0
1
523

PHP 스크립트에서 이메일을 보내는 중입니다.mail()기능이 트리거되면 수신자의 사서함이 특정 서비스(seznam.cz)에 의해 호스팅되고 메시지가 메일 클라이언트(Mozilla Thunderbird)에 다운로드되어 ESET Antivirus에서 확인되면 메시지가 손상된 것으로 나타납니다.

이 문제는 바이러스 백신 소프트웨어가 메일 메시지에 특수 헤더를 삽입하고 그 뒤에 빈 줄을 남겨두기 때문에 발생한다고 생각합니다.

으아악

내 이메일 클라이언트는 메시지가 일반 텍스트라고 생각하고X-PHP-Originating-Script라는 줄로 시작합니다. 메시지의 나머지 부분에는 모든 HTML 마크업이 포함됩니다.

이메일을 보내는 데 사용하는 스크립트는 다음과 같습니다.

으아악

그러나 Laravel 프레임워크를 사용하면 이메일이 올바르게 전송되고 표시됩니다. 차이점을 비교한 결과X-PHP-Originating-Script헤더가 Laravel에서 전송되지 않는다는 것을 깨달았습니다.

이것이 이유일까요? 어떻게 해결할 수 있나요?

P粉979586159
P粉979586159

모든 응답 (1)
P粉573943755

단순히 다른 줄 구분 기호의 문제일 수도 있습니다.

PHP 7.4까지 X-PHP-Originating-Script 뒤의 구분 기호는 단지n이었습니다(이것은PHP 8n(这已更改在 PHP 8中使用rn에서를 사용하고 더욱 최근에는master

에서 다른 요소를 기반으로 결정을 내립니다.

rn다른 모든 헤더는

을 사용하여 연결되므로 바이러스 백신 소프트웨어로 인해 헤더를 추가할 때 약간의 혼란이 발생할 수 있습니다. 이로 인해 클라이언트가 본문의 시작으로 해석하는 이중 줄 바꿈이 발생합니다.

nr모든 문자(

포함)를 표시하는 편집기로 원본 메시지를 보면 더 잘 이해할 수 있습니다.

mail.add_x_header = Off时删除X-PHP-Originating-Script해결책은 PHP 버전의 줄 끝을 일치시키거나 php.ini에서 모든

헤더를 설정하는 것입니다.
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!