![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
お問い合わせのフォームを作り、確認、最後にメールを飛ばす仕組みを作っているのですが、メールにインプットされたデータが入ってこない状態で届きます。どうか助けてください。(息切れ)
*下記参照
#フォームの情報を初めに格納する所 省略
#-------------------------------↓
if ( $ACT eq 'ckt' ){
&kakunin;
}
elsif ( $ACT eq 'ckt2' ) {
open (KEIJI, "<keijiban.dat") || die "File 'keijiban.dat' Open Error.";
# ファイルの内容を1行単位ですべて配列allに読み込む
@all = <KEIJI>;
# すべてのデータについて繰り返す
foreach (@all){
# 1行の文字列をコロンを目印にして項目に分割する
($firstname) = split(/:/, $_);
# 1件分のデータを表示するサブルーチン
&sendmail;
}
close(KEIJI);
#------------------------------------↑
sub kakunin{
$new_data = "$firstname\n";
&jcode'convert(*new_data, 'sjis');
open(KEIJI, "<keijiban.dat") || die "File 'keijiban.dat' Open Error.";
# 過去のデータを全て配列に読み込む
@all_data = <KEIJI>;
close(KEIJI);
# 配列の先頭に新規データを追加
unshift(@all_data, $new_data);
open(KEIJI, ">keijiban.dat") || die "File 'keijiban.dat' Open Error.";
#flock(KEIJI, 2);
# (新規データ+過去データ)をファイルに上書き
print KEIJI @all_data;
#flock(KEIJI, 8);
close(KEIJI);
# 書きこみ完了メッセージ
&write_ok;
exit;
}
sub sendmail {
#以下省略メール送信プログラム
exit;
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
外していたらごめんなさい。
(^_^;ReadParse(*in);以下の処理
↓
ReadParse;
while(($k,$v) = each %in)
{
&jcode'convert(*v,"sjis");
$in{$k} = $v;
}
#フォームの情報を初めに格納する所
$ACT = "$in{'ACT'}";
$name = 'お問合せ';
$from = "$in{'from'}";
$subject = 'お問合せ';
$body = 'お問合せ';
#●オリジナル挿入開始
$firstname = "$in{'firstname'}";
$to = 'love-0720@nifty.com';
としてみて下さい。
尚、念のためsendmailの
print MAIL "TO: $to\n"; も
↓
print MAIL "To: $to\n";
にしておいて下さい。
また、print MAIL "Content-Type: text/plain;\n\n"; の前に
print OUT "Content-Transfer-Encoding: 7bit\n";
があった方が良いかもしれません。
お試し下さい。
#本当はopen(MAIL, "| /usr/lib/sendmail -t"); にもエラー処理があった方が良い様な気がしますが・・・。
No.1
- 回答日時:
とりあえず質問内容と記載されているソース部分が合致していない気がします。
まずはフォームの値読み出し(ReadParse)から加工と、実際のメール送信部分を記載された方が良いですよ。(^_^)
この回答への補足
サブルーチン全部のソースを下記に示しました。
全体的な動きは最初に書いたとおりになっています。
ちなみに一時データ格納場所は*.dataファイルに格納することになっています。
●補足1
&ReadParse(*in);
#フォームの情報を初めに格納する所
$ACT = "$in{'ACT'}";
$name = 'お問合せ';
$from = "$in{'from'}";
$subject = 'お問合せ';
$body = 'お問合せ';
#●オリジナル挿入開始
$firstname = "$in{'firstname'}";
$to = 'love-0720@nifty.com';
●補足2
sub sendmail {
#送信前処理
&jcode'convert(*subject,'jis');
&jcode'convert(*body,'jis');
# send mail
open(MAIL, "| /usr/lib/sendmail -t");
print MAIL "TO: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Type: text/plain;\n\n";
print MAIL "\n";
print MAIL "---------------------------------------------\n";
print MAIL " 名前:$name\n";
print MAIL " 内容:$body\n";
print MAIL " お名前:$firstname $secondname\n";
print MAIL " かな:$kanafirstname $kanasecondname\n";
print MAIL " 所在都道府県 :$area1 $area2\n";
print MAIL " 電話番号:$telno\n";
print MAIL " 性別:$sex\n";
print MAIL " メールアドレス:mailto:$mailad\n";
print MAIL "お問合わ、ご相談内容:";
print MAIL " $con1\n";
print MAIL "---------------------------------------------\n";
close(MAIL);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Perl perlのflock関数でロックをかけたままopen関数で何度もファイルを開きなおすことはできますか 3 2023/05/01 22:25
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Java 動かなくなったのでJavaソースを手直しお願いします。 2 2022/04/30 05:35
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- その他(プログラミング・Web制作) pandasでまとめてインデックスを削除するにはどうすればいいですか? たとえば、以下のプログラムで 1 2022/07/31 23:09
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
CGIについてです。教えて下さい...
-
フォームを再送信しますか?
-
入力フォーム(電話番号)
-
POSTメソッドの最大容量について
-
CGIでラジオボタンの選択結果を...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlで複数行のデータを自由に...
-
配列の中に重複文字列があるか...
-
Visual C++を用いたシリアル通信
-
C言語のバイナリモードでのfsca...
-
perl-cgi 文字の長さでソートし...
-
Perl ファイルを読込んで日付の...
-
Pythonの再帰関数の動作の流れ...
-
条件判定文でのパタンマッチが...
-
@の配列変数ではなく$のスカラ...
-
C言語でバイナリファイルの読み...
-
データの日付でソートをしたい
-
配列のサイズを動的に拡張
-
単純なお問い合わせフォーム
-
3行ずつ足す
-
どのようなプログラムをつくれ...
-
VBAでCSVファイルを途中行まで...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
バッチファイルの作り方(CSV→...
-
openした後、closeしないでプロ...
おすすめ情報