<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 독립적 인 코드 예제</span></span><span>
</span><span><span class="hljs-variable">$version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">phpversion</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"현재의 PHP 버전:<span class="hljs-subst">$version</span></span></span><span>";
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
제목: 결합하는 방법 mb_send_mail 그리고 mb_internal_encoding 균일하게 인코딩하는 글로벌 이메일을 설정하십시오?
존재하다 PHP 이메일을 보낼 때,문자 인코딩 처리는 매우 중요한 문제입니다,尤其是존재하다涉及多语言内容时。PHP 내장 `mail()` 기능은 이메일을 보낼 수 있습니다,그러나 직접 사용하는 경우,중국어 또는 기타 비를 만날 가능성이 매우 높습니다. ASCII 멍청한 캐릭터의 문제。이 문제를 해결합니다,PHP 제공 `mb_send_mail` 그리고 `mb_internal_encoding` 두 개의 멀티 바이트 문자열 함수,이메일 코딩을 효과적으로 통합 할 수 있습니다。
하나、mb_internal_encoding 의 역할
-----------------------------------
`mb_internal_encoding` 설정을 위해 PHP 내부 멀티 바이트 스트링의 기본 인코딩。通过统하나内部编码,可以确保字符串존재하다处理过程中不会出现乱码。예를 들어:
```php
mb_internal_encoding("UTF-8");
</span></span></span>이 코드 라인은 PHP의 내부 인코딩을 UTF-8로 설정하고 MBString 함수를 사용하여 처리 된 모든 후속 문자열은 UTF-8에서 인코딩됩니다.
MB_SEND_MAIL 은 PHP에서 제공하는 다중 바이트 보안 이메일 보내기 기능입니다. 메일 주제 및 콘텐츠의 다중 바이트 문자를 처리하여 메일이 다른 메일 클라이언트에 정상적으로 표시되도록합니다. 사용의 예 :
<span><span><span class="hljs-variable">$to</span></span><span> = </span><span><span class="hljs-string">"[email protected]"</span></span><span>;
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">"테스트 메일"</span></span><span>;
</span><span><span class="hljs-variable">$message</span></span><span> = </span><span><span class="hljs-string">"这是하나封사용 UTF-8 编码发送的테스트 메일。"</span></span><span>;
</span><span><span class="hljs-variable">$headers</span></span><span> = </span><span><span class="hljs-string">"From: [email protected]"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">mb_send_mail</span></span><span>(</span><span><span class="hljs-variable">$to</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>, </span><span><span class="hljs-variable">$message</span></span><span>, </span><span><span class="hljs-variable">$headers</span></span><span>);
</span></span>기본적으로 MB_SEND_MAIL은 내부 인코딩을 이메일 인코딩으로 사용합니다. 내부 인코딩이 올바르게 설정되는 한 전송 된 이메일 컨텐츠가 표시되지 않습니다.
이메일을 보낼 때마다 인코딩을 수동으로 설정하지 않으려면 프로젝트가 초기화되면 균일하게 설정하는 것이 좋습니다.
<span><span><span class="hljs-comment">// 설정 PHP 내부 코드 UTF-8</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mb_internal_encoding</span></span><span>(</span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-comment">// 이메일 보내기 예제</span></span><span>
</span><span><span class="hljs-variable">$to</span></span><span> = </span><span><span class="hljs-string">"[email protected]"</span></span><span>;
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">"글로벌 코딩 테스트"</span></span><span>;
</span><span><span class="hljs-variable">$message</span></span><span> = </span><span><span class="hljs-string">"이메일 내용,支持中文그리고其他多字节字符"</span></span><span>;
</span><span><span class="hljs-variable">$headers</span></span><span> = </span><span><span class="hljs-string">"From: [email protected]"</span></span><span>;
</span><span><span class="hljs-comment">// 사용 mb_send_mail 이메일을 보내십시오</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span>(</span><span><span class="hljs-title function_ invoke__">mb_send_mail</span></span><span>(</span><span><span class="hljs-variable">$to</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>, </span><span><span class="hljs-variable">$message</span></span><span>, </span><span><span class="hljs-variable">$headers</span></span><span>)){
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"이메일은 성공적으로 전송되었습니다!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"이메일 전송 실패!"</span></span><span>;
}
</span></span>위의 방법을 통해 프로젝트에서 MB_SEND_MAIL을 호출하여 이메일을 보내는 한 UTF-8 인코딩은 자동으로 사용되므로 전체 애플리케이션의 이메일 인코딩 스타일을 통합하고 차량 코드 문제를 피할 수 있습니다.
서버에 MBString Extension이 설치되고 활성화되어 있는지 확인하십시오.
이메일 주제에 중국어가 포함 된 경우 MB_ENCODE_MIMEHEADER를 사용하여 주제를 인코딩하는 것이 좋습니다.
<span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_encode_mimeheader</span></span><span>(</span><span><span class="hljs-string">"테스트 메일"</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span></span>이메일 클라이언트가 올바르게 표시되도록 이메일 본문의 컨텐츠 유형 헤더 정보를 지정하는 것이 가장 좋습니다.
<span><span><span class="hljs-variable">$headers</span></span><span> .= </span><span><span class="hljs-string">"\r\nContent-Type: text/plain; charset=UTF-8"</span></span><span>;
</span></span> 요약 :
프로젝트 초기화 단계에서 mb_internal_encoding ( "UTF-8")을 설정하고 MB_SEND_MAIL 과 함께 전자 메일을 보내면 전자 메일의 통합 된 글로벌 인코딩을 달성하여 중국어 또는 기타 다중 바이트 문자가 다양한 클라이언트에 올바르게 표시되도록 할 수 있습니다.
이것은 특히 다국어 시스템 및 엔터프라이즈 애플리케이션에 적합한 이메일을 보내는 안전하고 신뢰할 수있는 방법입니다.
?>
<span></span>