注意: これは、exim 4.14用のパッチです。最新の exim (4.202 以降) には、公式にこのパッチが適用されていますので、個別にダウンロードする必要はありません。
What is this?
これは、exim のフィルターを日本語環境で使えるようにするためパッチ、およびexim以外のソフトウェアでも利用できるようにしたライブラリです。
日本語の件名をフィルタリングする際には、MIMEデコードと文字コード変換の2つの処理が必要になり、なかなか電子メールサーバー側で対応するのは大変です。このことに関しては、No more spam! をご参照下さい。
このパッチを適用することで、デコードしたメッセージを扱うことができるようになります。
使い方
ダウンロード
ダウンロードは、ここからご利用下さい。
- rfc2047.patch.gz
- Exim version 4.14 用
- MD5sum: af145b48cd381bf6859b5c2ac0c6165a
ChangeLog:
2003-05-07 Norihisa Washitake* Now the decoding happens automatically. * Filenames are completely new. * No more 'mime_decode' operator now. Exim calls rfc2047_decode() function at the end of find_header() in src/expand.c... 2003-04-30 Norihisa Washitake * Removed store_release() function from the source. Because exim process does not live very long, we could forget about the memory, as long as we get it via store_get(). * More flexible coding, so that eximime.c itself could be used independently. We do not need exim.h any longer (when be compiled alone). 2003-04-26 Norihisa Washitake * The first release.
インストール
これはソースファイルに対するパッチです。ダウンロードしたら、まず圧縮を解き、オリジナルのソースにパッチを当てる必要があります。
wassy ~% wget http://washitake.com/mail/exim/mime/rfc2047.patch.gz wassy ~% gunzip rfc2047.patch.gz wassy ~% cd /usr/src/exim-4.14 wassy exim-4.14% patch -p1 < ~/rfc2047.patch
パッチを当てたら、いつものように(?) src/EDITME を Local/Makefile にコピーして適当に編集し、make して make install します。既に一度 make した環境では、ビルドできないので、ソースツリーをいったん作り直すか、最低限 build-OS-architect というディレクトリを削除する必要があります。
wassy exim-4.14% rm -rf build-Linux-i386/ wassy exim-4.14% make && sudo make install
使い方
フィルターやconfigurationファイルなどで、
if $header_Subject: contains "未承諾広告" then save /dev/null endif
などと使うことができます。ファイルの文字コードは EUC-JP にしてください。
また、文字コード変換ライブラリ iconv と一緒に利用することもできます。この場合、パッチを当てた後で、Local/Makefile 中、最後の ICONV で始まる行のコメントを外し、make し直してください。フィルターに UTF-8 などを使うことができるようになります。
元) # HAVE_ICONV=yes # FILTER_ENCODE=\"UTF-8\" 後) HAVE_ICONV=yes FILTER_ENCODE=\"UTF-8\"
また、一般的な expand-string のオペレーターとして定義されているので、フィルターに限らず利用できます。たとえば、Routers Configurations のセクションに書くことで、spam をすべてブラックホールに捨てることもできます。
ライブラリ
exim以外のソフトウェアで、この RFC2047 デコードライブラリを使いたいという場合は、一応独立したライブラリとして用意していますので、こちらもご利用下さい。もしバグなど見つけた場合は、ぜひご連絡いただければ、と思います。
- unmime-0.4.tar.gz (8,764 bytes, May 6, 2003)
- unmime-0.3.tar.gz (8,752 bytes, Apr 26, 2003)