메일 인코딩시 한글깨짐 현상 – 한국워드프레스사용자모임 https://kopress.kr/topic/%eb%a9%94%ec%9d%bc-%ec%9d%b8%ec%bd%94%eb%94%a9%ec%8b%9c-%ed%95%9c%ea%b8%80%ea%b9%a8%ec%a7%90-%ed%98%84%ec%83%81/feed Fri, 10 Jan 2025 13:23:56 +0000 https://bbpress.org/?v=2.6.9 ko-KR https://kopress.kr/topic/%eb%a9%94%ec%9d%bc-%ec%9d%b8%ec%bd%94%eb%94%a9%ec%8b%9c-%ed%95%9c%ea%b8%80%ea%b9%a8%ec%a7%90-%ed%98%84%ec%83%81/#post-2809 <![CDATA[메일 인코딩시 한글깨짐 현상]]> https://kopress.kr/topic/%eb%a9%94%ec%9d%bc-%ec%9d%b8%ec%bd%94%eb%94%a9%ec%8b%9c-%ed%95%9c%ea%b8%80%ea%b9%a8%ec%a7%90-%ed%98%84%ec%83%81/#post-2809 Thu, 09 Aug 2007 00:03:52 +0000 hoiheart wp 2.1.3 버전을 쓰고있는데 메일 인코딩시 한글깨짐 현상이 발생합니다
(메일제목, 보내는사람, 받는사람 부분)

마침
http://kopress.kr/forums/topic.php?id=247
글이 똑같은 상황이라 보고 참조하려 했는데 버젼이 틀려서 파일들도 안맞고
라인도 안맞고 제가 php에는 문외한이라 봐도 잘모르겠습니다 -_-;

도움주시면 감사하겠습니다 ^^

]]>
https://kopress.kr/topic/%eb%a9%94%ec%9d%bc-%ec%9d%b8%ec%bd%94%eb%94%a9%ec%8b%9c-%ed%95%9c%ea%b8%80%ea%b9%a8%ec%a7%90-%ed%98%84%ec%83%81/#post-2810 <![CDATA[Reply To: 메일 인코딩시 한글깨짐 현상]]> https://kopress.kr/topic/%eb%a9%94%ec%9d%bc-%ec%9d%b8%ec%bd%94%eb%94%a9%ec%8b%9c-%ed%95%9c%ea%b8%80%ea%b9%a8%ec%a7%90-%ed%98%84%ec%83%81/#post-2810 Sat, 11 Aug 2007 12:11:52 +0000 082net 워드프레스 2.2 부터는 해당 오류가 발생하지 않는걸로 알고있습니다.

하지만 그 이전 버전에서는 플러그인 파일을 만들어서 사용하셔야 오류를 해결 할 수 있습니다.

2.2로 업그레이드 할 여건이 되지 않는 다면 링크를 남기신 글의 제 답변 중 플러그인을 활용하는 방식이 있으니 그에 따라 적용 해 보세요.

============================

플러그인으로 만드는 방법을 잘 모르시겠다면 아래 코드 내용을 그대로 복사하여 메모장 또는 텍스트에디터에 붙여 넣은 뒤 파일 이름을 wp-mail-hack.php 로 저장 한 뒤 플러그인으로서 사용하시면 됩니다.

<?php
/*
Plugin Name: WP Mail Hack
Plugin URI: http://082net.com/
Description: Fix mail header for utf-8.
Version: 1
Author: Cheon, Young-Min
Author URI: http://082net.com/
*/

if ( !function_exists('wp_mail') && !function_exists('mail_header_to_utf8') ) :
function wp_mail($to, $subject, $message, $headers = '') {
   if( $headers == '' ) {
      $headers = "MIME-Version: 1.0n" .
         "From: wordpress@" . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])) . "n" .
         "Content-Type: text/plain; charset="" . get_settings('blog_charset') . ""n";
   }
   $subject = mail_header_to_utf8($subject);
   if(preg_match('/From:(s*?)"(.*?)"(s*?)<(.*?)>/ie', $headers, $match)) {
      $new = explode("n", $headers);
      $new_headers = "";
      for($i=0;$i<count($new); $i++) {
         if(!empty($new[$i])) {
            $new_headers .= (strpos('From: "', $new[$i]) !== false)?'From: "'.mail_header_to_utf8($match[2]).'" <'.$match[4].'>'."n":$new[$i]."n";
         }
      }
      $headers = $new_headers;
   }
   return @mail($to, $subject, $message, $headers);
}

function mail_header_to_utf8($text) {
   if(strpos(strtolower($text), "=?utf-8") === FALSE) {
      $text = "=?UTF-8?B?".base64_encode($text)."?=";
   }
   return $text;
}
endif;

?>

붙여 넣을 때 맨 처음 <?php 와 맨 마지막 ?> 이외에 빈 공간이 생기지 않도록 주의 하세요.

Avatar of 082net
Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
]]>
https://kopress.kr/topic/%eb%a9%94%ec%9d%bc-%ec%9d%b8%ec%bd%94%eb%94%a9%ec%8b%9c-%ed%95%9c%ea%b8%80%ea%b9%a8%ec%a7%90-%ed%98%84%ec%83%81/#post-2811 <![CDATA[Reply To: 메일 인코딩시 한글깨짐 현상]]> https://kopress.kr/topic/%eb%a9%94%ec%9d%bc-%ec%9d%b8%ec%bd%94%eb%94%a9%ec%8b%9c-%ed%95%9c%ea%b8%80%ea%b9%a8%ec%a7%90-%ed%98%84%ec%83%81/#post-2811 Sat, 11 Aug 2007 12:11:52 +0000 082net 워드프레스 2.2 부터는 해당 오류가 발생하지 않는걸로 알고있습니다.

하지만 그 이전 버전에서는 플러그인 파일을 만들어서 사용하셔야 오류를 해결 할 수 있습니다.

2.2로 업그레이드 할 여건이 되지 않는 다면 링크를 남기신 글의 제 답변 중 플러그인을 활용하는 방식이 있으니 그에 따라 적용 해 보세요.

============================

플러그인으로 만드는 방법을 잘 모르시겠다면 아래 코드 내용을 그대로 복사하여 메모장 또는 텍스트에디터에 붙여 넣은 뒤 파일 이름을 wp-mail-hack.php 로 저장 한 뒤 플러그인으로서 사용하시면 됩니다.

<?php
/*
Plugin Name: WP Mail Hack
Plugin URI: http://082net.com/
Description: Fix mail header for utf-8.
Version: 1
Author: Cheon, Young-Min
Author URI: http://082net.com/
*/

if ( !function_exists('wp_mail') && !function_exists('mail_header_to_utf8') ) :
function wp_mail($to, $subject, $message, $headers = '') {
   if( $headers == '' ) {
      $headers = "MIME-Version: 1.0n" .
         "From: wordpress@" . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])) . "n" .
         "Content-Type: text/plain; charset="" . get_settings('blog_charset') . ""n";
   }
   $subject = mail_header_to_utf8($subject);
   if(preg_match('/From:(s*?)"(.*?)"(s*?)<(.*?)>/ie', $headers, $match)) {
      $new = explode("n", $headers);
      $new_headers = "";
      for($i=0;$i<count($new); $i++) {
         if(!empty($new[$i])) {
            $new_headers .= (strpos('From: "', $new[$i]) !== false)?'From: "'.mail_header_to_utf8($match[2]).'" <'.$match[4].'>'."n":$new[$i]."n";
         }
      }
      $headers = $new_headers;
   }
   return @mail($to, $subject, $message, $headers);
}

function mail_header_to_utf8($text) {
   if(strpos(strtolower($text), "=?utf-8") === FALSE) {
      $text = "=?UTF-8?B?".base64_encode($text)."?=";
   }
   return $text;
}
endif;

?>

붙여 넣을 때 맨 처음 <?php 와 맨 마지막 ?> 이외에 빈 공간이 생기지 않도록 주의 하세요.

Avatar of 082net
Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
]]>