現在cgiでメールフォームを作成しています。
sendmail使用、ファイルのエンコーディングはShift_JIS、改行コードLF
htmlのフォームから情報を入力し、
perlで入力内容の確認、
cgiでメール送信までは実行できました。
他の項目(件名やメールアドレスなど)はメール内容に反映されているのですが、
本文のみ空白となってしまいます。
本文に関わるコードは下記になります。
use CGI;
$cgi = new CGI();
$maintxt = $cgi->param('maintxt');
$cgi->charset('Shift_JIS');
$maintxt = $cgi->escapeHTML($maintxt);
&jcode::convert(\$maintxt,'jis');
print MAIL "Content-Type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "$maintxt\n";
cgiは勉強中なもので、解決方法がお分かりの方がいらっしゃいましたら、
教えていただければ幸いです。
No.1ベストアンサー
- 回答日時:
おそらく、ヘッダーと本文の区切りの空行が出力されていないからでしょう。
「print MAIL "$maintxt\n";」の行の前に「print MAIL "\n";」を追加すればよいかと。
ちなみに、提示されているロジックより前の方で
open (MAIL, "| sendmailのパスとオプション") ・・・
とやっていると思いますが、デバグ時には一時的に
open (MAIL, "> デバグ用のファイル") ・・・
の様にしてファイルに出力してやると確認が楽です。
この回答への補足
check_inquiry.plで内容確認を通さずにsendmail.cgiにactionのパスを指定すると解決しました。
plの方は後々調整したいと思います。
ご回答ありがとうございます。非常に助かりました。
print MAIL "\n";
print MAIL "本文テスト";
と記述することで本文の出力が確認できました。
デバグ時には、教えていただいたことを参考にテストしていきたいと思います。
※
print MAIL "本文テスト"を print MAIL "$maintxt\n";とすると内容は出力されませんでした。
plでの入力内容確認画面では$maintxtをフォームから読み込めているのですが、sendmail.cgiの方では呼び出せていないのでしょうか…
もし原因がお分かりでしたらご回答いただければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIでソースがそのままでてしま...
-
CGIからHTMLファイルを作るには?
-
EXCELファイルに誰がアクセスし...
-
MP Form Mail CGI で 500サーバ...
-
WEBデザイナーの方にお聞きした...
-
《エクセルVBA》「他の人が該当...
-
AS/400 QUERYの集計結果について
-
URLに~/cgi-bin/~を隠す方法
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
CGIって何ですか?簡潔に教えて...
-
特定のCGIだけ、作動するかわり...
-
VBScriptで、ファイルから任意...
-
ログアウト処理でWebブラウザを...
-
tableのthに斜めの線をCSSで入...
-
perlからphpを実行して結果を得...
-
SNSプログラムを探しています。
-
HTTP 501未実装 エラーについて
-
掲示板のアイコン設定の仕方教...
-
パーミッションが変更できません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIでソースがそのままでてしま...
-
エディタについて
-
排他処理について教えてください。
-
C言語で作ったプログラムをC...
-
htmlファイルにPHPとCGIを埋め込む
-
/cgibin/bbs/board.cgi で終わ...
-
cgiでファイルをアップロードし...
-
.cgi拡張子のままCGIファイルを...
-
2ちゃんねるの書き込みで
-
Movable Type 5 個人無償ライセ...
-
ワードパッドが起動して、cgiフ...
-
HTMLにCGIを
-
CGIの設置について。(BIGLOBE)
-
メールフォームの作成(sendmail)
-
拡張子をcgiにしたい。
-
htmlに外部のcgiを読み込む
-
cgiファイルを他のhtmlファイル...
-
CGIが実行されずにダウンロード...
-
CGIをテキストに変換したものを...
-
携帯サイトとPCサイトの振り分け
おすすめ情報