Etch へのアップグレード (cronのメール文字化け)


Etch にアップグレードしたら cron の実行時のメールに Content-Type がつくようになった。

Content-Type: text/plain; charset=ANSI_X3.4-1968

いままではなかったので、文字コードの判定はメーラー(Thunderbird)が行っていたが、
ヘッダーのおかげで英語と判定されて、日本語が文字化けしてしまう。

 # man 5 crontab

を実行してみた。

       You can use different character encodings for mailed cron job output by
       setting the CONTENT_TYPE  and  CONTENT_TRANSFER_ENCODING  variables  in
       crontabs, to the correct values of the mail headers of those names 

とのことなので、crontab で CONTENT_TYPE を追加して対応した。
今回は設定に charset をはずしたが、具体的に指定したほうがいいだろう。
また、LC_ALLを指定してもいいらしいが、locale の設定ができていなかったので、今回は動作しなかった。

CONTENT_TYPE=text/plain;

/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly の中の設定をすべて書き換えたいならば、/etc/crontab に CONTENT_TYPE を指定しておくといいだろう。