CGI-BBS > 情報収集 > フォームメール > メールが文字化けする場合があるようです


カレッヂ
カレッヂ


質問者 ともっち  投稿日 5/26(土) 13:29:14
こんにちは。
下記のようにメールを送信しているのですが、「全部文字化けしていて読めない」という方から何人か連絡がありました。どう対処したらよいでしょうか?
どうぞアドバイスお願いします。

if (!(open(OUT,"|$sendmail -t"))) {&error('エラーです');}
$subject = 'お知らせ';
&jcode'convert(\$subject,'jis');
print OUT "To: $in{'email'}\n";
print OUT "From: $sender\n";
print OUT "Subject: $subject\n";
print OUT "Content-Transfer-Encoding: 7bit\n";
print OUT 'Content-type: text/plain; charset=iso-2022-jp' . "\n\n";

print OUT 'こちらはともっちです。' . "\n\n";
print OUT 'あなたの会員番号はこちらです。' . "\n\n";

close(OUT);
回答者 しあわせのツボ  [削除]  投稿日 5/26(土) 16:04:08
「charset=iso-2022-jp」(JIS)と宣言しているにもかかわらず、SJISやEUCで送信しているのではないでしょうか。
メールは必ずJISで送らなければならないとされていますので、JISに変換して送信して下さい。
質問者 ともっち  [削除]  投稿日 5/27(日) 21:03:45
アドバイスありがとうございます。
if (!open(OUT,"|$sendmail -t")) {&Error('予期せぬエラーです');}

if (!open(OUT,"|$nkf -j|$sendmail -t")) {&Error('予期せぬエラーです');}
にしてみたら、今度はHTTP 500 - 内部サーバー エラー が起きてしまいました。
nkfのパスは正しく指定しているのですが、どうしてでしょうか?どうかアドバイスお願いします。

回答者 しあわせのツボ  [削除]  投稿日 5/28(月) 00:36:21
$nkf -j としているからではないでしょうか。
nkf -j にしてみるとどうでしょう。
質問者 ともっち  [削除]  投稿日 5/28(月) 22:35:35
$nkf = '/usr/local/bin/nkf';
と指定していて、このパスはあっているのですが・・・
nkfが機能しているかどうかはサーバー管理者に聞く必要がありますか?

このページは終了したので返信(回答)は書きこめません

Web裏技