• ベストアンサー

linuxからのメールのタイトルが文字化けとなる

linux文字コードはutf8,linuxからOutlook Expressに送信する。 受信したメールのタイトルは文字化けとなる。なぜですか。 linuxで、シェルの中で、下記の部分で、送信する。 /sbin/service snmpd start 2>&1 | \ /bin/mail -s "日本語" s@ks.co.jp 上記のソースを見ると、分かると思いますが。 どうすれば、文字化けがなくなれますか。

質問者が選んだベストアンサー

  • ベストアンサー
  • pakuti
  • ベストアンサー率50% (317/631)
回答No.2

subjectを、ISO-2022でエンコードしなければいけません。 こんなページがあったので。。。 http://www.kcn.ne.jp/~idic/cgi-bin/mime.cgi /bin/mail -s =?ISO-2022-JP?B?GyRCRnxLXDhsGyhC?= s@ks.co.jp で試してみて下さい。

songyqjp
質問者

補足

件名は必ず"日本語"ではないです。件名は日本語文字です。シェルの中で、件名の変数を受け取って、送信する。 例:/sbin/service snmpd start 2>&1 | \ /bin/mail -s "[$HOSTNAME]" $MAILTO 上記の"[$HOSTNAME]" は日本語文字となります。 ソースの中で、"[$HOSTNAME]" を文字コードiso-2022-jpに変換して、送信してほしいです。

その他の回答 (1)

  • OKwebb
  • ベストアンサー率44% (92/208)
回答No.1

Subjectの非Asciiの場合、Base64エンコード又はQエンコードする必要があります。 形式は以下 encoded-word = "=?" charset "?" encoding "?" encoded-text "?=" "日本語"をBase64エンコードした場合 ?iso-2022-jp?B?GyRCRnxLXDhsGyhC?= 詳細はRFC2047参照

songyqjp
質問者

補足

件名は必ず"日本語"ではないです。件名は日本語文字です。シェルの中で、件名の変数を受け取って、送信する。 例:/sbin/service snmpd start 2>&1 | \ /bin/mail -s "[$HOSTNAME]" $MAILTO 上記の"[$HOSTNAME]" は日本語文字となります。 ソースの中で、"[$HOSTNAME]" を文字コードiso-2022-jpに変換して、送信してほしいです。

関連するQ&A