amavisd-new 에러에 관하여 질문입니다.
글쓴이: ero / 작성시간: 수, 2007/03/28 - 5:18오후
우분투 데퍼에다가 Amavisd-new,spamassassin,clamAv,dcc,razoy,pyzor,postfix 이렇게 설치를 하였습니다.
amavisd.conf에서
$bypass_decode_parts = 1;
이걸 설정을 해주면 일부 웹메일에서 decoding문제로 메일 본문의 한글이 깨지는 현상이나타납니다.
메일의 subject부분은 전혀 문제가 없습니다.
#$bypass_decode_parts = 1;
이렇게 주석처리를 해주면 메일이 안갑니다.
Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) switch_to_client_time 480 s, smtp response sent Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) switch_to_client_time 480 s, receiving data Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) switch_to_my_time 480 s, data-end received Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) ESMTP< .<CR><LF> Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Actual message size 1785 B, declared 1788 B Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) setting body type: 7BIT (h=0, b=0) Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) body hash: 381fc0a4d8cc67817078749baac49788 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Original mail size: 1785; quota set to: 892500 bytes Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Checking: fXhZfK9C9ODj [202.86.8.100] <yisuyong@haion.net> -> <root@yong2.haion.net> Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) query_keys: <a href="mailto:root@yong2.haion.net" rel="nofollow">root@yong2.haion.net</a>, root@, yong2.haion.net, .yong2.haion.net, .haion.net, .net, . Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) lookup_hash(root@yong2.haion.net), no matches Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) lookup (bypass_virus_checks) => undef, "root@yong2.haion.net" does not match Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Extracting mime components Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Issued a new file name: p001 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Issued a new file name: p002 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) mime_decode_preamble: 2 lines Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Issued a new pseudo part: p003 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) p003 1 Content-Type: multipart/alternative Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) mime_decode_epilogue: 1 lines Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Charging 2 bytes to remaining quota 892500 (out of 892500, (0%)) - by mime_decode Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) p001 1/1 Content-Type: text/plain, size: 2 B, name: Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) reparenting p001 from p000 to p003 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) Charging 243 bytes to remaining quota 892498 (out of 892500, (0%)) - by mime_decode Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) p002 1/2 Content-Type: text/html, size: 243 B, name: Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) reparenting p002 from p000 to p003 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) prolong_timer mime_decode-1: remaining time = 480 s Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) decode_parts: level=1, #parts=3 : p001, p002, p003 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) (!!)TROUBLE in check_mail: parts_decode_ext FAILED: Unix utility file(1) not available, but is needed at (eval 57) line 114, <GEN9> line 71. Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) prolong_timer check done: remaining time = 480 s Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) sending SMTP response: "451 4.5.0 Error in processing, id=08734-01, parts_decode_ext FAILED: Unix utility file(1) not available, but is needed at (eval 57) line 114, <GEN9> line 71." Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) ESMTP> 451 4.5.0 Error in processing, id=08734-01, parts_decode_ext FAILED: Unix utility file(1) not available, but is needed at (eval 57) line 114, <GEN9> line 71. Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) switch_to_client_time 480 s, smtp response sent Mar 28 16:27:26 yong2 postfix/smtp[8687]: 416385C9F7: to=<root@yong2.haion.net>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.35, delays=0.02/0.01/0.09/0.23, dsn=4.5.0, status=deferred (host 127.0.0.1[127.0.0.1] said: 451 4.5.0 Error in processing, id=08734-01, parts_decode_ext FAILED: Unix utility file(1) not available, but is needed at (eval 57) line 114, <GEN9> line 71. (in reply to end of DATA command)) Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) (!)PRESERVING EVIDENCE in /var/amavis/tmp/amavis-20070328T162726-08734 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) TIMING [total 340 ms] - SMTP greeting: 12 (3%)3, SMTP EHLO: 20 (6%)9, SMTP pre-MAIL: 67 (20%)29, mkdir tempdir: 7 (2%)31, create email.txt: 7 (2%)33, SMTP pre-DATA-flush: 63 (18%)52, SMTP DATA: 11 (3%)55, check_init: 4 (1%)56, digest_hdr: 2 (0%)57, digest_body: 7 (2%)59, gen_mail_id: 7 (2%)61, mkdir parts: 4 (1%)62, mime_decode: 85 (25%)87, SMTP pre-response: 15 (4%)91, SMTP response: 17 (5%)96, rundown: 14 (4%)100 Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) idle_proc, 6: was busy, 191.1 ms, total idle 0.065 s, busy 0.279 s Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) idle_proc, 5: was idle, 3.4 ms, total idle 0.068 s, busy 0.279 s Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) ESMTP< QUIT\r\n Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) switch_to_my_time 480 s, SMTP QUIT received Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) ESMTP> 221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) switch_to_client_time 480 s, smtp response sent Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) SMTP session over, timer stopped Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) exiting process_request Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) post_process_request_hook: timer was not running Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) idle_proc, bye: was busy, 29.6 ms, total idle 0.068 s, busy 0.309 s Mar 28 16:27:26 yong2 amavis[8734]: (08734-01) load: 82 %, total idle 0.068 s, busy 0.309 s
이래저래 찾아보니까 디코딩이 안되는것 같더군여.
그래서 amavisd 데몬에서 디코딩 부분을 찾아보니
if ($will_do_parts_decoding) { # decoding parts can take a lot of time $which_section = "parts_decode_ext"; snmp_count('OpsDec'); ($hold,$any_undecipherable) = Amavis::Unpackers::decompose_mail($tempdir,$file_generator_object); if ($hold ne '' || $any_undecipherable) { $msginfo->add_contents_category(CC_UNCHECKED,0); $_->add_contents_category(CC_UNCHECKED,0) for @{$msginfo->per_recip_data}; } }
이렇게 되어있는데 perl을 못하는 관계로 무슨 말인지 모르겠습니다.
누가좀 도와주세요 ㅜ.ㅜ
Forums:
우선 decoding
우선 decoding 문제원인은 찾았습니다.
file 명령어가 없었는데...
그런데 문제가 또 생겼습니다.
amavisd-new 데몬이 file명령어로 어떤 character set인지 구별을 한다음
iconv 명령어로 변환하여 검사후 다시 원래 character set으로 변환합니다
여기서 iconv가 지원이 안되는 character set이면 UTF-8로 변환되는거 같더군여(추측입니다.^^;;)
다음,야후,파란에서 보낸 메일을 받아서 file로 보면 ISO8859라고 나옵니다.
그런데 iconv -l 로 확인해보면 ISO8869는 없고
ISO8859-1 부터 ISO8859-16까지는 있더군여
ISO8859라는건 없는건가여 아니면 저의 리눅스가 지원을 안하는 건가요?
ISO8859가 ISO8859-1과 같이 쓸수 있다면 ISO8859-1을 alias설정을 하던지 심볼릭을 걸어서 사용 할 수 있을까요??
댓글 달기