>  기사  >  백엔드 개발  >  PHP 이메일 제목이 깨졌을 경우 대처 방법

PHP 이메일 제목이 깨졌을 경우 대처 방법

藏色散人
藏色散人원래의
2020-08-15 09:56:472127검색

잘못된 PHP 이메일 제목에 대한 해결 방법: 먼저 [base64_encode] 함수를 사용하여 데이터를 인코딩한 다음 제목 문자열 앞에 인코딩 유형을 [=?UTF-8?B?]로 추가합니다. 해당 인코딩 그냥 형식입니다.

PHP 이메일 제목이 깨졌을 경우 대처 방법

추천: "PHP 비디오 튜토리얼"

PHP

에서 보낸 이메일의 왜곡된 헤더에 대한 솔루션 문제가 발생했습니다: 이메일을 보낼 때 PHPMailer가 중국어로 왜곡된 문자를 보냈습니다. 영어 내용이지만 이후 수요 변화에 따라 제목에 한자를 추가해야 하는데, 안드로이드에 내장된 이메일 도구를 사용해 이메일을 받을 때 글자가 깨져서 나타나는데, QQ 메일함을 사용해 보는 것은 정말 정상이다.

해결책:

먼저 base64_encode() 함수를 사용하세요 - MIME base64를 사용하여 데이터를 인코딩하세요.

제목 문자열 앞에 인코딩 유형을 추가하세요. 예: =?UTF-8?B?

다음에 추가하세요. title string: ?=

//例如:
  $subject = "=?UTF-8?B?".base64_encode($subject)."?="; //utf-8
  //将上面一句添加到代码之中,这样,发送的中文邮件标题就不是乱码了。
   $subject = "=?GB2312?B?".base64_encode($subject)."?="; //gb2312

PHPmail을 사용하여 CharSet 속성을 설정할 수 있다는 정보도 인터넷에 있습니다. 위의 방법을 사용하면 문제가 해결되므로 이 방법을 시도하지는 않았지만 기록하겠습니다.

해결 방법은 매우 간단합니다. 코드에 속성을 추가합니다.

$mail->CharSet = "utf-8"; //设置字符集编码

gb2312 인코딩인 경우

$mail->CharSet = "GB2312";

그런 다음 해당 인코딩 형식으로 파일을 저장합니다.

위 내용은 PHP 이메일 제목이 깨졌을 경우 대처 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.