▼スレッド
│
└◇1409:Re:Subjectの日本語使用について [nil] 08/17 09:00
└◇1410:Re[10]:Cygwinで外部にメールを送信するには? [hi-6] 08/17
└◇1415:Re[11]:Cygwinで外部にメールを送信するには? [k-squar] 08/17
└◇1416:Re[12]:Cygwinで外部にメールを送信するには? [nil] 08/17
漢字には気をつけてね、だけではすまなくなってしまい、はげしくスレッド一覧
Cygwin の話ではなくなったついでに、いいわけを。
今年の3,4月頃まで受け取った中にいくつか、「不特定多数」宛(こ
れはいわゆる迷惑メール)だけでなく「特定多数」宛(フリーメール
の広告mailling-list) にも、MIME符号化されている Subject を復
号化すると SJIS だった、という、不思議なものに気がつきました。
(文字化けのspamは珍しくは無いですが)
ヘッダーには、X-Mailer: Personal_ML11F とあり、検索したとこ
ろ、大量送信を目的にフリーで配布されたもので、かなり使われて
いる(spamでも有名)らしいものでした。
どうやら、OutlookExpress 等ではいちおうは読めてしまうらしく、
気がつかないままの人もいるようです。
配布サイトでは (有料版)「NETSCAPE等でのSubject文字化けに対応」
などと書いてあり、トホホ感をつのらせます。
こういうものが使われつづけてしまうのには苦笑もできず、スクリ
プトといえど、問題がおきそうなものが広がらないよう祈るばかり
です。
nilさんが苦い経験をお持ちであることはよくわかりました。スレッド一覧
スクリプトを問題視する気持ちも、わかりました。決して間違ってはいないと思います。だから私も、無意識で加害者の立場にならないよう、MIMEについて勉強したいと思い。いろいろと質問させて頂いたのです。ただ、私の理解不足や早とちりもあって、少し不快な気分を与えてしまったかもしれないと反省します。その点はお詫びさせて頂きます。
お陰様で、今回の過程でいろいろと日本語の取り扱いについて得るところがありました。ありがとうございました。
>念のため。SJIS の場合、shell の "..." の中では 2byte目のスレッド一覧
>0x5c(\) だけでなく、0x60(`) (backquote)も問題になります。
あぁ、そういうこともあったんですね・・・。
私自身が MB (マルチバイト) な文字を
" ではクォーティングしないので、
そこまでは想像できてませんでした。
# \ の事だけを思ってました。
ここまでスレッド伸ばしておいて、
結局のところどう書くのが好ましいのか、
結果を書いてないじゃん!!?
っていらだつ人がいるかと思うので、
とりあえず私なりのスクリプトを書いてみます。
せっかくなので SJIS で書くことにしましょう♪
# SJIS だと想像して読んでください
shell 変数使いたいときには MB 文字を使わずに、
その部分だけシングルクォートを閉じて、
ダブルクォートでクォーティングして、
そのすぐ後でシングルクォートを開いて使ってくださいな。
添削は nil さんにお願いします☆
--
#!/bin/sh
export NKF=/usr/local/bin/nkf
SENDMAIL=/usr/sbin/sendmail
(
(
# ヘッダ部分
echo 'To: "あてさき (正義とか饅頭とか表示でも OK)" <to-mailaddress@subdomain.sld.tld>'
echo 'Subject: さぶじぇくと (正義とか饅頭とか表示でも OK)'
echo 'MIME-Version: 1.0'
echo 'Content-Type: text/plain; charset="ISO-2022-JP"'
echo 'Content-Transfer-Encoding: 7bit'
echo ''
) | $NKF -S -M
# 本文部分
echo ''
echo 'SJIS でメール本文を準備しておいて、'
echo 'ここでそのファイルを cat で流したりするのも'
echo '良いと思います♪'
echo ''
echo '正義とか饅頭とか表示でも OK'
echo ''
) | $NKF -S -j -m0 | $SENDMAIL -F "$(echo 'おくりぬし (正義とか饅頭とか表示でも OK)' | nkf -S -M)" -f "from-mailaddress@subdomain.sld.tld" to-mailaddress@subdomain.sld.tld
うう、0x5c だけじゃないと言ってたつもりなんだけど、メタキャスレッド一覧
ラクタなど、と言っただけでは、0x5c だけ思い浮かぶのかなあ。
例も出したのが遅かったのかな。すいません。
かと言って、問題のあるケース全部は知らないのであげられないし。
私自身、通常は '' 使ってても汎用的に問題ないかどうか確信は無
いし、ましてや "" でどういうケースが起きるかは検証していない
ので。
それで、「例」ならば、せめて警告も必要だと。
というわけで、スタンスも違うし、自分で使わないスクリプトの添
削など滅相も無いです。