amavisd-new 에러에 관하여 질문입니다.

ero의 이미지

우분투 데퍼에다가 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을 못하는 관계로 무슨 말인지 모르겠습니다.
누가좀 도와주세요 ㅜ.ㅜ

ero의 이미지

우선 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설정을 하던지 심볼릭을 걸어서 사용 할 수 있을까요??

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.