Mantis 통지메일의 한글이 깨져 보일 때

Mantis의 가장 유용한 기능 중 하나는,
각종 통지(Notification) 기능이 아주 잘 되어 있다는 것!
이슈가 추가되거나, 할당이 되거나, 상태가 변경이 되거나, 덧글이 달렸을 경우 등,
상태가 변경되었을 때, 관련한 사람들에게 메일로 통지를 하게 되어,
일의 지연을 방지시키는 아주 훌륭한 기능을 가지고 있다.

하지만, Mantis로 통지된 메일의 한글이 깨져 보이는 경우가 허다한데,
기본적으로 Mantis는 다양한 언어로 지원이 되기에, utf-8로 되어 있기 때문이다.
물론 메일도 utf-8 인코딩으로 보내지게 되는데, 국내 메일 서버의 경우에는 다국어를 충분히 고려하지 않고 euc-kr 형식의 메일만 지원하는 곳이 많다.
그렇기 때문에 Mantis로 메일 발송시, euc-kr 형식으로 변환하여 메일 발송이 필요한데,
다음과 같이 일부 코드를 변경하면 가능합니다.

(phpmailer 2.0.0인 경우) C:\APM_Setup\htdocs\mantis\core\phpmailer\class.phpmailer.php 파일을 열어서,
1.
function GetMailMIME() { 에서 charset을 “euc-kr”로 변경.
(수정전)
$result .= sprintf(“Content-Type: %s; charset=\”%s\””, $this->ContentType, $this->CharSet);
(수정후)
$result .= sprintf(“Content-Type: %s; charset=\”%s\””, $this->ContentType, “euc-kr“);

2.
function CreateBody() { 에서, 메일 본문을 euc-kr로 변환
(수정전)
return $result;
(수정후)
return iconv( “UTF-8”, “EUC-KR”, $result);

 

2014/1/15 보완

mantis 1.2.14~ 이후로는, phpmailer 관련 셋팅 파일은 다음 경로에.
-> (멘티스 설치 경로)\mantis\library\phpmailer

여기 있는 파일 중, class.phpmailer.php 파일의 일부 속성 변경할 것

public $CharSet = ‘iso-8859-1‘;  -> 빨간 글씨 부분을 utf-8, euc-kr 등으로 바꾸거나
public $Encoding = ‘8bit‘; -> 8bit 를 7bit, base64 등으로 바꿔볼 것.

메일 서버에 따라서 환경설정이 모두 다르기 때문에,
위의 설정을 적절하게 조합하면 대부분의 문제는 해결이 됨.

 

Advertisements
이 글은 Issue Track, Kaizen 카테고리에 분류되었고 , , , 태그가 있습니다. 고유주소 북마크.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중