CGIを使ったメールのFromの所に漢字を使うには?

[上に] [前に] [次に]
Atsumi [E-Mail] [HomePage] 1998/10/23(金) 15:34:43
はじめまして、こんにちは
実は、ホームページからメールを送るCGIを作ったのですが
送られてきたメールのFromのところを
nobodyではなく、フォームから入力してもらう名前を
漢字で表示させたいのですがどうすればいいのかご存知の方がいらっしゃいましたら
ぜひ教えてください。いろいろと調べたのですが
どうも良く分かりません。どなたかよろしくお願いします。

mo [E-Mail] 1998/10/23(金) 21:23:08
例えば、このように書きます。
From: =?ISO-2022-JP?B?GyRCJCpMPkEwGyhC?= <mo@goice.co.jp>

暗号文字みたいなところは、
「=?ISO-2022-JP?B?」 + 「JIS コードを Base64 エンコードしたもの」 + 「?=」
とします。

perl なら、jcode.pl と base64.pl を用いれば簡単にできます。
こんな感じ:
require 'jcode.pl';
require 'base64.pl';
...
&jcode'convert(*name, 'jis');
$name = &base64'b64encode($name);
$name =~ s/\n//g;
$from_field = "From: $name <$email>";

mo [E-Mail] 1998/10/23(金) 21:27:05
あ、すみません。訂正です。

間違い $from_field = "From: $name <$email>";
訂正  $from_field = "From: =?ISO-2022-JP?B?$name?= <$email>";

Atsumi [E-Mail] 1998/10/24(土) 09:25:15
とりあえず、やってみます

ATSUMI [E-Mail] 1998/10/24(土) 10:43:55
やってみたところばっちりうまく行きました・・・が
どうもReply-Toの所が出なくなってしまいました。
ふつうに
Reply-To: $email
と記述しているつもりなのですが・・・

[上に] [前に] [次に]