現在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が実行されずにダウンロード...
-
FC2レンタルサーバーライトでの...
-
Linuxで拡張子は必要か
-
XサーバーでCGIを使うには??
-
hp 送信する情報を・・・
-
BBS掲示板でのhtmlとcgiの関係...
-
.cgi拡張子のままCGIファイルを...
-
ブラウザ上でファイルをアップ...
-
URLがhttp://~.cgiとなってい...
-
CGIでソースがそのままでてしま...
-
cgiファイルのhtmlファイルへの...
-
CGIをコピーしたのですがうまく...
-
UTF-8で書いたperlのパスが正し...
-
一つのファイルだけにPremature...
-
ブログのデータをアップロード...
-
cgiファイルを直接は見れなくす...
-
フレームページでSSIを使ってア...
-
Windowsで作った *.cgi ファイ...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIでソースがそのままでてしま...
-
XサーバーでCGIを使うには??
-
cgiファイルを直接は見れなくす...
-
ファイルをアップロードするフ...
-
排他処理について教えてください。
-
CGIが実行されずにダウンロード...
-
.cgi拡張子のままCGIファイルを...
-
CGIをテキストに変換したものを...
-
htmlファイルにPHPとCGIを埋め込む
-
特定CGI「だけ」が、ローカル環...
-
C言語で作ったプログラムをC...
-
htmlに外部のcgiを読み込む
-
ファイルのダウンロードがうま...
-
CGIにCSSを
-
BBS掲示板でのhtmlとcgiの関係...
-
HTMLのソースへサーバーの掲示...
-
データベースのSEO対策?
-
CGIをコピーしたのですがうまく...
-
Apacheでcgiを動かす場合のファ...
-
ファイルアップロードの設置が...
おすすめ情報