Spam filter #2

오랫만에 코드가 손에 잡히길래… 몇 일 전에 구상해 놨던 spam filter 를 실제 구현해봤습니다. php 와 pecl-mailparse 덕분에 아주 간단히 구현할 수 있었습니다.

  1. text/html, text/plain 뽑아내기 (base64_decode, qprint_decode 는 자동으로 됨)
  2. urldecode
  3. convert to utf-8
  4. decode html entities

딱 위에 얘기한 대로만 구현했습니다. 실제 적용 사례는 아래 링크를…
http://mytears.org/resources/mysrc/php/Parsemail.phps
http://mytears.org/procmailrc
현재는 메일 내용을 full buffering 하고 있는데, 몇십 메가씩 되는 메일들을 처리하게 되면 메모리를 엄청나게 쓸 지도 모르겠군요. tempnam 등을 이용해서 임시파일을 만드는 방법으로 천천히 전환해야겠네요 흐흐흐