非常に長い変更ログをnailにパイプすると、Outlookで.bin
という名前のATT00001..bin
添付ファイルが付いた空白の電子メールが届きます。ファイルは36KBで、予想されるテキストが含まれていますが、ダブルスペースです(おそらく行末と関係があります)。メッセージが短い場合、これは起こりません。
Nailがメッセージを添付ファイルに変換しないようにするにはどうすればよいですか?
User-Agent: nail 11.25 7/29/05
MIME-Version: 1.0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Redhat ES 6.1のネイルの息子(heirloom mailx)でも同じ問題が発生しました。結局のところ、問題は、ファイルがASCII、UNIX標準ファイル(つまり、LFのみ)ではないことに要約されます。
メールを送信する前にファイルから\ r文字を削除することで、この問題を解決しました。
cat logfile | sed 's/\r//' > logfile.new
これは、ファイルにUTF8文字が含まれていて、ロケールをUTF8以外に設定している場合にも発生します。 nail
は、ファイルに不明な制御文字が含まれていると疑って、アプリケーション/オクテットストリームの添付ファイルに変換します。
メールクライアントは、添付ファイルをどう処理するかわからないまま、添付ファイルを一覧表示します。それで(悲しいことに?)今回はMSのせいではありません。 Gmailは添付ファイルを「noname」としてリストします。
このための解決策は、LANG、つまりen_US.UTF8を設定することです。
LANG="en_US.UTF8" ; export LANG