1819 mail コマンド 件名文字化け

<<トップページへ

mail コマンド 件名文字化け
日時: 2010/07/06 18:07
名前: 初初初初心者
mailコマンドを使って送信しようと思ってるけど、
文字化けで泣きそうだった。
みんなさん助けてください。
サーバはutf-8です。

mail -s "テスト" hoge@hoge.jp

いろいろ試したが、nkfを足しても
本文が正常のものの、subjectだけが文字化けだった。。。

Re: mail コマンド 件名文字化け(1)
日時: 2010/07/06 20:46
名前: ペングイン
URL: http://blog.trippyboy.com
初初初初心者様

ペングインです。

現象を再現したいと思いますので、以下の情報をいただけますでしょうか。

実際に指定した件名
実際に利用した本文
送信先メールサーバの文字コード
メールを確認した方法
文字化けした際の文字化けの状態

宜しくお願いいたしますm(_ _)m

Re: mail コマンド 件名文字化け(2)
日時: 2010/07/07 18:46
名前: 初初初初心者
ペングイン様

返信ありがとうございます。
早速下記回答させて頂きます。

>実際に指定した件名
テスト

>実際に利用した本文
テスト

>送信先メールサーバの文字コード
utf-8

>メールを確認した方法
メーラoutlook expressにて受信確認

>文字化けした際の文字化けの状態
件名:「テスト」が⇒「聽ケ」になる

ご教授よろしくお願いします。

Re: mail コマンド 件名文字化け(3)
日時: 2010/07/07 19:17
名前: ペングイン
URL: http://blog.trippyboy.com
初初初初心者様

情報頂きありがとうございました。事象を検証・確認させて頂きました。

OutlookExpressにてメールを受信し、確認する時点で文字化けがしている事ですが、
これは送信されてきたメールの文字コードをOutlookExpressが正しく認識することが出来て
いないためです。

#きちんとメールソフトなどから送信され「charset」のヘッダがあれば、文字化けは
#発生しにくいかと思います。

これは、残念ながら「mail」コマンドをどうにかすることによって改善するものではありません。

何かクーロンなどで、お望みのタイミングでメールを送信させたいのであれば、
もしかすると・・「sendmail」を用いてどうにか送信できるかも知れません。

ペングインが知っているのは、「telnet localhost 25」とし一度サーバに接続してから
必要なヘッダなどを入力し送信されるなどの方法です。

なお、OutlookExpressにて受信されたメールを正しく表示していただくには、
[表示]→[エンコード]→[その他]→[UTF8]をお選びください。

文字化けの原因はご理解いただけたと思いますので、「これがしたい」などあれば
お返事お待ちしております。


〜以下はおまけです。〜

$ sendmail user@domain.com
From:sender@docodemoi-yo.com        ←入力
To:user@domain.com             ←入力
Subject:テスト               ←入力
Content-Type: text/plain; charset="UTF-8"  ←入力
                      ←入力(改行):ヘッダと本文の分割点
テストだよ。                ←入力
.                      ←入力:終了の合図
$
----
受信したメールのソース

From:sender@docodemoi-yo.com
To:user@domain.com
Subject:テスト
Content-Type: text/plain; charset="UTF-8"
Message-Id: <20100707101104.9EF3291B4979@domain.com>
Date: Wed, 7 Jul 2010 19:10:44 +0900 (JST)

テストだよ。

Re: mail コマンド 件名文字化け(4)
日時: 2010/07/07 21:47
名前: 新高校生
題名はMIMEにしたがってエンコード(Base64)?、本文もJISに変換して
やれば日本語(非ASCII)が入っていても送れます。

例えば honbun.txt というファイルに本文(UTF-8)を入れといて
それを「テスト」という題名でhoge@hoge.comに送りたい場合には

s=`echo テスト | nkf -j | nkf -M`
nkf -j honbun.txt | mail -s $s hoge@hoge.com

で送れます。
(ただしnkfはインストール済みであること)

Re: mail コマンド 件名文字化け(5)
日時: 2010/07/08 09:45
名前: ペングイン
URL: http://blog.trippyboy.com
>>4 新高校生様

横から失礼いたします。

ペングイン自宅環境はThunderbirdなので参考になるか分かりませんが、
日本語で正しく送れました!!

nkfってこうやって使うんですね^^; 勉強になりました。ありがとうございます。

(追伸)OutlookExpressでも大丈夫でした!

Re: mail コマンド 件名文字化け(6)
日時: 2010/07/08 10:59
名前: 初初初初心者
新高校生様 ペングイン様

ご親切な指導ありがとうございました

nkfそういう使い方もあるんですね、感心しました。

s=`echo テスト | nkf -j | nkf -M`
nkf -j honbun.txt | mail -s $s hoge@hoge.com

無事にできたんですが、

s=`echo テスト | nkf -j | nkf -M` nkf -j honbun.txt | mail -s $s hoge@hoge.com

一行に纏めるとYou must specify direct recipients with -s, -c, or -b
とのエラーが上がってきました。

一行で纏める書き方がございましたら是非教えて頂きたいです。

Re: mail コマンド 件名文字化け(7)
日時: 2010/07/08 13:48
名前: k3
$ echo "テスト" | nkf -j | mail -s `echo "テスト" | nkf -j | nkf -M` hoge@hoge.com

でどうでしょうか。
未検証です。

追記
分かりにくいので、文言を修正しました。
$ echo "本文" | nkf -j | mail -s `echo "件名" | nkf -j | nkf -M` hoge@hoge.com

Re: mail コマンド 件名文字化け(8)
日時: 2010/07/08 17:08
名前: ペングイン
URL: http://blog.trippyboy.com

s=`echo テスト | nkf -j | nkf -M`; nkf -j honbun.txt | mail -s $s hoge@hoge.com

または

nkf -j honbun.txt | mail -s `echo テスト | nkf -j | nkf -M` hoge@hoge.com

でどうでしょう

Re: mail コマンド 件名文字化け(9)
日時: 2010/07/08 18:09
名前: 初初初初心者
k3様 ペングイン様

おかげさまでできました。

・echo "テスト" | nkf -j | mail -s `echo "テスト" | nkf -j | nkf -M` hoge@hoge.jp
・nkf -j test.txt | mail -s `echo "テスト" | nkf -j | nkf -M` hoge@hoge.jp

上記二つ問題なく動作できました。
ありがとうございました。

よって、本スレッドを「解決済」とさせていただきます。

※古いスレッドには返信できない場合があります


■関連コンテンツ




▲このページのトップへ戻る

ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします