すりごまの鯖缶?ブログ 2缶目

鯖管のことだったりプログラミングのことだったりマイクラのことだったり

linuxのmailでnotitleのファイルが送られる。

1日ぐらい潰しました。
mailで標準入力しているにもかかわらず、謎の添付ファイルになってしまう現象。
(例: cat mail.txt | mail a@a.com )
GMailに送るとNotitleという添付ファイル。
iPhoneに送るとmime-attachment。
解決するまで大変でした。


ggrと文字コード云々が出てきます。
確かに文字コードが原因なのはわかりました。

この問題は3つぐらい解決法がありましたのでここにメモしておきます。

解決法1

今回解決できた方法です。
そのテキストファイル、BOMついてませんか?
BOMがあると添付ファイルと間違われる?らしいです。
なので、BOMをご確認ください。

解決法2

言語設定がShiftJISになっていませんか?

export LANG=ja_JP.uft8

これをスクリプトの先頭、または、cronに

* * * * * LANG=ja_JP.uft8 [Script Source]

としておきましょう。

解決法3

sendmail自体の言語設定が違うみたいです。

export LC_CTYPE=ja_JP.UTF-8

これをスクリプトの先頭、または、cronに

* * * * * LC_CTYPE=ja_JP.UTF-8 [Script Source]

としておきましょう。

結論

はてブロいいね。
デザインちゃんとしてるし。

追記

corn → cron
typoしてた。恥ずかしいです。