• 締切済み

CGIメールフォームのメールが文字化けしてしまいます。

こんにちは。 CGIから自動返信されるメールが 人によって文字化けしてしまうそうです。 私の場合は、文字化けしないのですが・・・。 誰も文字化けしないような、自動返信メールを作りたいのですが、 CGIのどこをいじればよいかわかりません。 よかったら、教えてください。お願いします。

  • CGI
  • 回答数4
  • ありがとう数4

みんなの回答

回答No.4

まず、#2さんのところに書いてあるようにContent-Type: text/plain;の後にcharset="iso-2022-jp"は入れたほうがいいでしょうね。 print OUT "Subject: $subject\n"; print OUT "Content-Type: text/plain; charset=\"iso-2022-jp\"\n"; print OUT "Content-Transfer-Encoding: 7bit\n"; みたいな感じで。 それと、出していただいたのはヘッダの部分で肝心な本文の部分が出てこないんですが、スクリプトのどこかに require 'jcode.pl'; とか &jcode::convert(*body, 'jis'); みたいな行は入っていますか?

yuki2005e
質問者

お礼

スクリプトに、 require 'jcode.pl'; は、存在しました。 原因は、charset="iso-2022-jp"だと思われます。 教えていただいたコーディングそのまま使わせていただきました。 とりあえず、これで対応したいと思います。 本当にありがとうございました。

yuki2005e
質問者

補足

ご回答ありがとうございました。 →print OUT "Content-Type: text/plain; charset=\"iso-2022-jp\"\n"; を入れてみたところ、CGIが正常に動きません。 どうしてでしょうか・・・ 下の場合はエラーにはなりません。 print OUT "Content-Type: text/plain\n"; すみませんが、よろしくお願いします。

回答No.3

理由として ○メッセージがJISに変換されていない ○メールヘッダに文字コード指定がない(#2さんの回答参照) ぐらいが考えられます。 「sendmail」と書かれている辺りのスクリプトを出してもらえますか? それと、スクリプト自身の文字コードは何で書かれていますか?

yuki2005e
質問者

補足

ありがとうございます。 最初にこのような感じで、 #!/usr/local/bin/perl require 'jcode.pl'; $sendmail = '/usr/lib/sendmail'; メール送信は↓ #メールの送信 sub sendmail { if (!open(OUT,"| $sendmail $mailto")) { &send_error; } print OUT "mailForm: mailForm V1.0\n"; print OUT "To: $mailto\n"; print OUT "From: $email\n"; print OUT "Subject: $subject\n"; print OUT "Content-Transfer-Encoding: 7bit\n"; print OUT "Content-Type: text/plain\n"; このような感じになっています。 修正は秀丸で行っています。 よろしくお願いします。

  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.2

メールヘッダに文字コード指定と転送コード指定はありますか? Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit こんなの。

yuki2005e
質問者

お礼

Content-Type: text/plain; charset="iso-2022-jp" が見当たらないので、原因はそれかもしれません。 ありがとうございます。

yuki2005e
質問者

補足

ありがとうございます。 print OUT "Content-Transfer-Encoding: 7bit\n"; print OUT "Content-Type: text/plain\n"; このような感じのところでしょうか? Content-Type: text/plain; charset="iso-2022-jp" っていうのは見つかりません。 加えた方がよいのでしょうか。

  • asahina02
  • ベストアンサー率47% (95/202)
回答No.1

CGIが送信しているメールの文字コードの問題だと思われます。 最低限ヘッダー情報に文字コードを記述しましょう。 ただ、それだけだとメーラーによって化けてしまうものもあるようですので、 ヘッダー~本文まで文字コードは統一されている方がいいようです。 ※独学での判断結果なので、正式な規定等とずれている場合がありますので御了承ください。

yuki2005e
質問者

お礼

ありがとうございます。 ヘッダー情報に文字コードを追加してみます。

関連するQ&A

  • CGIフォームメールが文字化けします。

    CGIで、フォームメールを作ったのですが、 自動返信されるメッセージが 相手によって文字化けするようです。 全文がこんな感じになってしまうそうです → "��Q�����t" どのPCでも閲覧できるような自動返信メールを 送らせたいと思っているのですが どこをどう編集すればよいのでしょうか。 よろしくお願いしますm(_ _)m

    • ベストアンサー
    • CGI
  • メールフォームの文字化け

    <form method="POST" action="mailto:*****@****.com" enctype="text/plain">のようなメールフォームを設置したのですが、送ろうとしたら文字化けされるそうです。 調べてみたらcgiとかを使った方が良さそうですが、その前に念のために質問します。 1.mailto:を使って文字化けするのは利用者環境によって文字化けすることもあるという解釈になるのでしょうか。html側ではどうしようもないのでしょうか。 2.cgiを使った場合、文字化けは解消されるのでしょうか。 すみませんが、教えてください。宜しくお願い致します。

  • メールフォームの文字化けについて

    <form method="POST" action="mailto:*****@****.com" enctype="text/plain">のようなメールフォームを設置したのですが、送ろうとしたら文字化けされるそうです。 調べてみたらcgiとかを使った方が良さそうですが、その前に念のために質問します。 1.mailto:を使って文字化けするのは利用者環境によって文字化けすることもあるという解釈になるのでしょうか。html側ではどうしようもないのでしょうか。 2.cgiを使った場合、文字化けは解消されるのでしょうか。 すみませんが、教えてください。宜しくお願い致します。

  • フォームメールが文字化けします。。。

    cgiを使用したフォームメールについてですが、携帯のauとソフトバンクでフォームメールを利用した人からのメールが文字化けを起こしてしまいます。 そこで私が使っている、共用レンタルサーバ会社に連絡したら、 ”携帯端末に対応しているフォームメール CGI を自分で探して設置してくれ”と返事がありました。 そこで、色々探したのですが、見つかりませんでした。(よくわかりませんでした) 携帯端末に対応しているcgiはどこで見つければいいのでしょうか。 また、今のCGIに何かを付け加えることによって文字化けを起こさなくなるものなのでしょうか。わかる方いましたらお願いいたします。

    • ベストアンサー
    • CGI
  • フォームメールが文字化け

    アングラーズネット社の「インターネットショップCGI&受注管理」という書籍に付属されている「fmail」というCGIファイルを使ってメールフォーム作成してサイトにアップロードしたのですが、メール送信確認画面で文字化けします。そのメールフォームで受信したメールも文字化けしています。AdobeGoLiveCS2でホームページを作成しています。最初GoLiveでCGIファイルを読み込むとファイル内容が文字化けになっていたので、エンコーディングを日本語シフトjisに設定すると文字化けが解消されました。しかし、相変わらずメールフォーム及び受信メールは文字化けしたままです。 OSはWindowsXPです。 アドバイスよろしくお願い致します。

  • 文字化け

    携帯サイトにcgiでつくられたフォームを設置したのですが、 自動返信で送られるメール(送信先はyahooアドレス)が PCでyahooメールをみると正常なのですが、同じメールを携帯版yahooからみると、全部文字化けしています。 どうすれば文字化けせずみれますでしょうか。 cgiはよくわかりません。PCサイトで問題なく動作しているものを使っていますが、配布元も分からず・・・

    • 締切済み
    • CGI
  • 文字化け対策済みのメールフォームCGIを探しています。

    さくらのレンタルサーバで、 kentwebのpostmailを利用したところ、文字化けをし、 対策を長時間が頑張ってみましたが文字化けは解消できませんでした。 そこで、メールフォームCGI自体を変えようと考えております。 以下のものを希望しております。 ・文字化け対策済み ・既存のページにメールフォームを埋め込めるもの  (デザインは既存ホームページのものを利用したいので) 以上です。 ご存知の方がいらっしゃいましたらぜひよろしくお願いいたします!

    • ベストアンサー
    • CGI
  • メールフォームから届くメールが文字化けしてしまいます・・・

    私の通ってる学際で利用するホームページを作ってます。アンケートフォームに無料cgiのpostmailというものをつかわさせてもらっています。 KentWeb http://www.kent-web.com/data/postmail.html ですが、設置したメールフォームから届くメールの一部が文字化けしてしまいます。 調べたら半角カタカナを入力すると文字化けするみたいです。 半角カタカナを入力しても文字化けしない方法を教えて下さい。又、これの他にいいメールフォームcgi(無料)があれば一緒に教えて欲しいです。 学際がもうすぐなのでできれば早く教えて欲しいです。 舞

  • CGIフォームから飛ばすメールがMacのMailで本文だけ文字化け

    フリーCGIのメールフォームをちょこっとカスタマイズして使用しています。 基本的にJISで作られていて、当然ウィンドウズでは正常にメールを表示することができるのですが、我が家のMacのほうで使っているMailというソフトで確認するとメールタイトルは問題ないのですが、本文が文字化けを起こしてしまっています。 フリーCGIといっても色んなものがあるのでアドバイスをいただきにくいと思うのですが、どのポイントにどのような記述が必要であるなどを教えていただけたら幸いです。 補足★全体をEUCに直す方法もやってみましたが、種類の違う文字化けになりました。検索でいろいろ調べてみると、JISでもきちんとカスタマイズすれば文字化けをしないという書き込みがありましたので、JISの方向で進めたいと思っています。 ちょっとしたことでもいいのでよろしくお願いします!

    • ベストアンサー
    • CGI
  • HPのフォームから受信したメールの文字化け

    HPビルダーを使ってHPを管理しております。用語とかの詳しいことはよく分からないのですが、 CGIになるのでしょうか?お問い合わせのフォームがあり、その際に「入力してくれた名前」が、メールで受信した時に「送信者」の欄に反映されるようになっております。が、その名前が表示されるはずが、文字化けしております。 その人にメールを返信しようとすると宛先は、(アドレスの入る所)文字化けのままで困っております。 どうしたら直す事ができますか?あまりソースは詳しくないのですが、教えて下さい。お願いします。

    • ベストアンサー
    • CSS

専門家に質問してみよう