리눅스
2008. 4. 16. 12:35
RoundCube Webmail은 오픈소스중 알려져 있는 많은 웹메일 중에 하나이다.
나 또한 최근까지 다람쥐 메일이라고 불리우는 Squirrel Mail을 사용했는데,
오랫동안 개발되어 온 만큼 많은 플러그인이 존재하기 때문에 여러 기능이 있다는 강점이 있으나
역시 보기좋은 떡이 먹기에도 좋다고.. 90년대틱한 디자인이 영 마음에 안들었었다.
그러다 어느날 우연히 RoundCube 라는 프로그램을 발견했고,
잠깐의 삽질 끝에 깔끔한 디자인의 괜찮은 프로그램을 사용할 수 있게 되었다.
또한 또하나의 강점으로 Ajax를 지원하며, UTF8이 기본으로 지원되고 있다.
그러나 아직 개발이 꾸준히 일어나고 있는 중이라 그런것인지
stable 이라는 딱지에 맞지 않게 버그도 심심치 않게 발견할 수 있었고,
가장 큰 문제점인 euc-kr이 제대로 지원되지 않는다는 문제가 있었다.
한글 문제는 곧 케릭터셋 문제에 있으리라 확신했고, 고쳐보고자 마음먹고 소스를 뒤적뒤적...
그러다가 디폴트 케릭터셋 처리 코드에 버그가 있음을 발견했고,
이 문제를 roundcube.net (http://trac.roundcube.net/ticket/1484991) 에
문제되는 부분과 패치된 부분의 코드를 현재 포팅해놓은 상태이다.
그 외에도 euc-kr을 처리하려면 패치를 조금 더 해야되는데..
생각보다 꽤 많은 코드에 ISO-8859-1 값이 Static으로 박혀 있었다.
물론 몽땅 다 replace 시켜주면 되겠지만.. 나의 귀차니즘이 어디가겠나?-_-
최소한의 패치로 처리할 수 있는 방법을 선택했다.
현재 tini4u.net에서 테스트중이고, 별 문제는 없는것 같은데.. 시간이 지나봐야 알 것 같다.
아래는 euc-kr 처리를 위한 패치부분이다.
euc-kr 패치가 적용되기 전 화면

euc-kr 패치가 완료된 후 화면
나 또한 최근까지 다람쥐 메일이라고 불리우는 Squirrel Mail을 사용했는데,
오랫동안 개발되어 온 만큼 많은 플러그인이 존재하기 때문에 여러 기능이 있다는 강점이 있으나
역시 보기좋은 떡이 먹기에도 좋다고.. 90년대틱한 디자인이 영 마음에 안들었었다.
그러다 어느날 우연히 RoundCube 라는 프로그램을 발견했고,
잠깐의 삽질 끝에 깔끔한 디자인의 괜찮은 프로그램을 사용할 수 있게 되었다.
또한 또하나의 강점으로 Ajax를 지원하며, UTF8이 기본으로 지원되고 있다.
그러나 아직 개발이 꾸준히 일어나고 있는 중이라 그런것인지
stable 이라는 딱지에 맞지 않게 버그도 심심치 않게 발견할 수 있었고,
가장 큰 문제점인 euc-kr이 제대로 지원되지 않는다는 문제가 있었다.
한글 문제는 곧 케릭터셋 문제에 있으리라 확신했고, 고쳐보고자 마음먹고 소스를 뒤적뒤적...
그러다가 디폴트 케릭터셋 처리 코드에 버그가 있음을 발견했고,
이 문제를 roundcube.net (http://trac.roundcube.net/ticket/1484991) 에
문제되는 부분과 패치된 부분의 코드를 현재 포팅해놓은 상태이다.
그 외에도 euc-kr을 처리하려면 패치를 조금 더 해야되는데..
생각보다 꽤 많은 코드에 ISO-8859-1 값이 Static으로 박혀 있었다.
물론 몽땅 다 replace 시켜주면 되겠지만.. 나의 귀차니즘이 어디가겠나?-_-
최소한의 패치로 처리할 수 있는 방법을 선택했다.
현재 tini4u.net에서 테스트중이고, 별 문제는 없는것 같은데.. 시간이 지나봐야 알 것 같다.
아래는 euc-kr 처리를 위한 패치부분이다.
FileName: roundcube/program/include/rcube_imap.php
--- Original Code
+++ Patch Code
=> Line number : 217
- $this->default_charset = $ch;
+ $this->default_charset = $cs;
=> Line number : 2362
- return rcube_charset_convert($input, !empty($fallback) ? $fallback : 'ISO-8859-1');
+ return rcube_charset_convert($input, !empty($fallback) ? $fallback : 'euc-kr');
--- Original Code
+++ Patch Code
=> Line number : 217
- $this->default_charset = $ch;
+ $this->default_charset = $cs;
=> Line number : 2362
- return rcube_charset_convert($input, !empty($fallback) ? $fallback : 'ISO-8859-1');
+ return rcube_charset_convert($input, !empty($fallback) ? $fallback : 'euc-kr');
euc-kr 패치가 적용되기 전 화면
euc-kr 패치가 완료된 후 화면
댓글을 달아 주세요
한글파일명 첨부해서 메일발송 잘 되던가요?
2008.04.21 15:39저도 몇가지 테스트를 해 보았는데, 이게 제일 큰 문제인것 같아요.(나만 그런가?)
음.. 그러네요
2008.05.03 19:35 신고한글명으로 된 파일 전송이 제대로 이루어지지 않는군요
시간날때 픽스해봐야겠습니다
/program/steps/mail/get.inc
; 도 추가했어요.
$charset = $IMAP->default_charset;
$filename = iconv("UTF-8", $charset, $filename);
);
;
);
2008.05.08 18:21파일에 아래 부분처럼 수정하면 됩니다~ 대략 107 라인
UTF8 문제였음! ^^
수정하는김에 header("Content-Length: {$part->size}"
티니님덕에 한글부분은 쉽게 수정했네요. 감사~~
///////////////////////////////////////////////////////////
// Fixed by DongMan
$charset = $part->charset;
if($charset == ""
$filename = $part->filename;
if($charset != "UTF-8"
header(sprintf('Content-Disposition: %s; filename="%s";',
$_GET['_download'] ? 'attachment' : 'inline',
$filename ? $filename : "kongpy.$ctype_secondary"
header("Content-Length: {$part->size}"
///////////////////////////////////////////////////////////
/*
header(sprintf('Content-Disposition: %s; filename="%s";',
$_GET['_download'] ? 'attachment' : 'inline',
$part->filename ? abbreviate_string($part->filename, 55) : "roundcube.$ctype_secondary"
*/
감사합니다. 무적가이님 대충해결된 것 같은데, 브비.ppt 라는 파일을 첨부하면 파일명이 제대로 보내지지가 않는 군요. 이 문제도 좀 해결해주시면 고맙겠습니다.
2008.05.16 12:07http://my.oops.org/120 에 0.1.1 용 패치를 추가해 놓았습니다. 테스트 해 본 결과로는 한글 파일이 잘 처리되는 것 같습니다.
2008.08.21 06:35다만, 전 get.inc 에 따로 패치를 하지 않았습니다. :-) 웹이 UTF-8 이 아닐 경우에 문제가 되는 것이 아닐까 생각중.. (위의 패치를 잠깐 본 소감으로는..)