はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 当サイト情報 >> スレッド

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

このスレッドはクローズされています。記事の閲覧のみとなります。

 メールが文字化けする
日時: 2007/02/14 11:57
名前: Mr.G

はじめまして。
いつもこのHPを活用させていただいております。

今回、FedoraCore6で構築をしていますが、表題の件で行き詰っている為、お力をお借りしたいと思います。

?不明点・障害内容:
Crontabで自動実行した内容がメールで送信されてくる際、Windowsで受信した際に、文字コードが違い文字化けをおこしている。
送信されてくる文字コードはLatin1(ISO-8858-1)
メーラーはBeckyを使用。
文字コードを日本語に変更すると、正常に表示される。
crontabの内容は、こちらのHP記載にあるものばかりでyum_upgradeやchkrootkit等
「nkf -i」や「nkf -j」などnkfのオプションを色々試したが結果は変わらず・・・
nkfを記載しなくても言語は「Latin1」のまま

メールのヘッダには
Subject: Cron <root@tokyo> /root/yum_upgrade.sh | nkf -j
Content-Type: text/plain; charset=ISO-8859-1
と、記載がある。

grepを使い「/etc」以下で「8859」を検索したが、該当していると思われる設定ファイルはhttpd.confのコメントのみであった。

?Distribution  :
      Version: FedoraCore6(2.6.19-1.2895.fc6)

?Service Name  :
      Version: postfix-2.3.3-2

その他、ログや情報が必要な場合は御連絡ください。
すぐに御用意いたします。
宜しくお願いいたします。

■ コンテンツ関連情報

 Re: メールが文字化けする ( No.1 )
日時: 2007/02/14 12:21
名前: 管理者

管理者(root)のロケールは何になっているのでしょうか?(以下の実行結果を教えてください。)

# locale

また、各スクリプトに環境変数「LC_ALL」に値を設定してみて確認して頂けますか?

例)「/root/yum_upgrade.sh」の場合
#!/bin/sh

export LC_ALL=ja_JP.eucJP        ← このように・・・

echo "Job Name (yum_upgrade.sh)"
echo " 開始(`date +"%k時%M分%S秒"`)"
yum -y update
echo " 終了(`date +"%k時%M分%S秒"`)"
 Re: メールが文字化けする ( No.2 )
日時: 2007/02/14 12:28
名前: Mr.G

管理人様

早速の御返答ありがとう御座います。

localeを実行いたしましたので、下記に記載いたします。

# locale
LANG=ja_JP.eucJP
LC_CTYPE="ja_JP.eucJP"
LC_NUMERIC="ja_JP.eucJP"
LC_TIME="ja_JP.eucJP"
LC_COLLATE="ja_JP.eucJP"
LC_MONETARY="ja_JP.eucJP"
LC_MESSAGES="ja_JP.eucJP"
LC_PAPER="ja_JP.eucJP"
LC_NAME="ja_JP.eucJP"
LC_ADDRESS="ja_JP.eucJP"
LC_TELEPHONE="ja_JP.eucJP"
LC_MEASUREMENT="ja_JP.eucJP"
LC_IDENTIFICATION="ja_JP.eucJP"
LC_ALL=

また、スクリプトに環境変数「LC_ALL」に値を入力いたしました。
早速検証をおこなわさせていただきます。

ありがとう御座います。
 Re: メールが文字化けする ( No.3 )
日時: 2007/02/14 12:59
名前: Mr.G

管理人様
言われる通り、スクリプトに追記し、実行いたしましたが結果は変わらず、Latin1の言語のままでした。

どうしたらよいのでしょうか?
宜しくお願いいたします。
 Re: メールが文字化けする ( No.4 )
日時: 2007/02/14 16:34
名前: 管理者

スクリプト「/root/yum_upgrade.sh」は、どのコード体系で保存されているのでしょうか?
(eucで保存されていますか?)


もしくは、viで開いて「euc」で保存し直してみてください。
# vi /root/yum_upgrade.sh


:set fileencoding=eucjp    コマンドモードでeucに設定
:wq!              上書き保存


上記でviのコマンドモードでエンコーディングを「eucJP」にセットした後に、上書き保存してください。
念のため、可能であればバイナリモードでダウンロードして、「秀丸」等でファイルの文字コードがEUCである事を確認してみて下さい。
 Re: メールが文字化けする ( No.5 )
日時: 2007/02/14 17:36
名前: Mr.G

管理人様

何度もありがとう御座います。
早速試してみましたが、結果は同じで、「Latin1」のまま送信されてきました。
エディタはvimを利用しております。
vim-common-7.0.191-2.fc6
vim-enhanced-7.0.191-2.fc6
vim-minimal-7.0.191-2.fc6

ダウンロードを行い、ファイルの保存タイプを見ましたがeucJPのようでした。
宜しくお願いいたします。
 Re: メールが文字化けする ( No.6 )
日時: 2007/02/14 18:40
名前: ZERO

crond(サービス)を実行したときのロケールが誤っていたのでは?
crondを再起動(ロケールをeucJPで)してみてはどうでしょうか?
 Re: メールが文字化けする ( No.7 )
日時: 2007/02/15 09:50
名前: Mr.G

ZERO様

御返答ありがとう御座います。

# /etc/rc.d/init.d/crond restart
で、crondを再起動させて実行いたしましたが、結果は変わらずでした。
crondの実行する時の、localeを設定する方法とかあるのでしょうか?
もしあればお教えください。
宜しくお願いいたします。
 Re: メールが文字化けする ( No.8 )
日時: 2007/02/15 10:37
名前: 管理者

色々と調べているのですが、見当がつきませんね・・・
当方にても再現できれば少しは良いのですが・・・

今度は、crontab の設定内にロケールを設定してみて頂けますか?


# crontab -e
LC_ALL=ja_JP.eucJP    ← 先頭行に追加
 Re: メールが文字化けする ( No.9 )
日時: 2007/02/15 13:32
名前: Mr.G

管理人様

度々の御回答ありがとう御座います。
私も自分で何も解らないなりに、かなり調査した結果、何も解らなかった為の投稿となりました。
お手数をおかけいたします。

早速実行いたしました所、メールのヘッダが少し変わりました。
ヘッダ部分を全て記載した方がわかりやすいと思いますので、全文引用させていただきます。
(但し、IPやアドレスなどは「*」等を代入いたします。)

今の状態はデフォルト言語が設定されていない状態になりました。
宜しくお願いいたします。

*********メールヘッダ以下引用********

X-BkASPil-Result: white
Return-Path: <root@***.co.jp>
Delivered-To: ***@XXXXX.co.jp
Received: (qmail 50778 invoked from network);
15 Feb 2007 13:15:37 +0900
Received: from unknown (HELO ***.co.jp) (***.***.***.***)
by ***.***.***.***
with SMTP;
15 Feb 2007 13:15:37 +0900
Received: from 125x***x***x**.***.***.***.ne.jp(125.***.***.***)
by scmgateway.***.*** via smtp id 1c6e_302ef5a2_bcab_11db_9016_***********;
Thu, 15 Feb 2007 13:15:36 +0900
Received:
by ***.co.jp (Postfix) id ******;
Thu, 15 Feb 2007 13:12:17 +0900 (JST)
Delivered-To: root@***.co.jp
X-Virus-Scanned: amavisd-new at ***.co.jp
From: root@***.co.jp (Cron Daemon)
To: root@***.co.jp
Subject: Cron <root@***> /root/test.sh | nkf -j
Content-Type: text/plain; charset=EUC-JP
Auto-Submitted: auto-generated
X-Cron-Env: <LC_ALL=ja_JP.eucJP>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20070215041216.****@***.co.jp>
Date: Thu, 15 Feb 2007 13:11:10 +0900 (JST)
X-NAI-Spam-Score: -2.5
X-NAI-Spam-Report: 1 Rules triggered * -2.5 -- BAYES_00 -- Bayesian spam probability is 0 to 1%
MIME-Version: 1.0
 Re: メールが文字化けする ( No.10 )
日時: 2007/02/15 17:47
名前: 管理者

今の状態でもやはり文字化けを起こしているんですよね?

この状態で、cronで指定するジョブより「nkf」部分を取り除いたらどの様になるのでしょうか?

# crontab -e
LC_ALL=ja_JP.eucJP
00 00 * * * /root/test.sh | nkf -j

      ↓ この様に変えてみてください。

00 00 * * * /root/test.sh
 Re: メールが文字化けする ( No.11 )
日時: 2007/02/15 19:11
名前: Mr.G

管理人様
正常に表示されるようになりました〜〜〜!
本当に感謝いたします。

ありがとう御座いました。

結局原因は何だったんでしょうか?
解らずじまいでした・・・

解決いたしましたので、このスレッドはクローズさせていただきます。

本当にありがとう御座いました。

■ その他

ページ先頭へ


Copyright(©)2004-2018 First home server construction. All Right Reserved.