FlashQ&A(サンプル作品集)の憲ちゃん様の
http://hfm-kenchan.com/Lesson/log_qa/D0703261.htmの
Flash連動のフォームメールを使わせて頂いているのですが、
webform_flas01.cgiに、自動返信機能を追加したいと思っています。
sub sendmail {
~~省略~~}
をもう一つコピーして、片方の宛先と差出人の部分を逆にしたら、今度は送られてくる方のメールが届かなくなりました。
どなたかCGIに詳しい方是非教えて頂けないでしょうか?
使用環境はWindoesXP SP2 Flash8です。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
以下で多分平気だと思います。
sub sendmail {
if (!(open(OUT,"| $sendmail -t"))) { &error('エラー'); }
print OUT "X-Mailer: WebFORM v4.0 by www.rescue.ne.jp\n";
print OUT "X-HTTP_REFERER: $ref\n";
print OUT "Errors-To: $mailto\n";
print OUT "To: $mailto\n";
print OUT "From: $email\n";
&jis("Subject: $subject"); print OUT "$msg\n";
print OUT "Content-Transfer-Encoding: 7bit\n";
print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n\n";
&jis("--- ここから ---"); print OUT "$msg\n\n";
$count = @DATA_N;
foreach (0..$count-1) {
if ($DATA_V[$_] =~ /\n/) { &jis("$DATA_N[$_] =\n\n$DATA_V[$_]\n"); print OUT "$msg\n"; }
else { &jis("$DATA_N[$_] = $DATA_V[$_]"); print OUT "$msg\n"; }
}
&jis("--- ここまで ---"); print OUT "\n$msg\n\n";
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }
print OUT "\n";
print OUT "----------------------------------------\n";
print OUT "送信日時 : $date_now\n";
# print OUT "Server-Name : $ENV{'SERVER_NAME'}\n";
# print OUT "Server-Protocol : $ENV{'SERVER_PROTOCOL'}\n";
# print OUT "Server-Port : $ENV{'SERVER_PORT'}\n";
# print OUT "Gateway-Interface : $ENV{'GATEWAY_INTERFACE'}\n";
# print OUT "Request-Method : $ENV{'REQUEST_METHOD'}\n";
# print OUT "Script-Name : $ENV{'SCRIPT_NAME'}\n";
# print OUT "HTTP-Referer : $ref\n";
print OUT "HTTP-User-Agent : $ENV{'HTTP_USER_AGENT'}\n";
print OUT "Remote-host : $host\n";
print OUT "Remote-Addr : $ENV{'REMOTE_ADDR'}\n";
print OUT "----------------------------------------\n";
print OUT "\n";
close(OUT);
# 二通目の送信処理
if (!(open(OUT,"| $sendmail -t"))) { &error('エラー'); }
print OUT "X-Mailer: WebFORM v4.0 by www.rescue.ne.jp\n";
print OUT "X-HTTP_REFERER: $ref\n";
print OUT "Errors-To: $mailto\n";
print OUT "To: $email\n";
print OUT "From: $mailto\n";
&jis("Subject: $subject");
print OUT "$msg\n";
print OUT "Content-Transfer-Encoding: 7bit\n";
print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n\n";
&jis("--- ここから ---");
print OUT "$msg\n\n";
$count = @DATA_N;
foreach (0..$count-1) {
if ($DATA_V[$_] =~ /\n/) { &jis("$DATA_N[$_] =\n\n$DATA_V[$_]\n"); print OUT "$msg\n"; }
else { &jis("$DATA_N[$_] = $DATA_V[$_]"); print OUT "$msg\n"; }
}
&jis("--- ここまで ---"); print OUT "\n$msg\n\n";
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }
print OUT "\n";
print OUT "----------------------------------------\n";
print OUT "送信日時 : $date_now\n";
# print OUT "Server-Name : $ENV{'SERVER_NAME'}\n";
# print OUT "Server-Protocol : $ENV{'SERVER_PROTOCOL'}\n";
# print OUT "Server-Port : $ENV{'SERVER_PORT'}\n";
# print OUT "Gateway-Interface : $ENV{'GATEWAY_INTERFACE'}\n";
# print OUT "Request-Method : $ENV{'REQUEST_METHOD'}\n";
# print OUT "Script-Name : $ENV{'SCRIPT_NAME'}\n";
# print OUT "HTTP-Referer : $ref\n";
print OUT "HTTP-User-Agent : $ENV{'HTTP_USER_AGENT'}\n";
print OUT "Remote-host : $host\n";
print OUT "Remote-Addr : $ENV{'REMOTE_ADDR'}\n";
print OUT "----------------------------------------\n";
print OUT "\n";
close(OUT);
print "Content-type: text/plain\n\n";
print 'Check=ok';
exit;
}
No.1
- 回答日時:
sub sendmail {
~~省略~~}
を丸々コピーすると片方のみしか動作しないと思います。
やるのならば
sub sendmail{
~~省略~~}
の中身を二つに増やしてあて先と差出人を逆にするとできると思います。
(sub sendmail{}の中で 「~~省略~~」を二つに増やすと言うことです)
この回答への補足
ご回答有難うございます。
moon_nightのご指摘通り、
if (!(open(OUT,"| $sendmail -t"))) { &error('エラー'); }
~~省略~~
print "Content-type: text/plain\n\n";
print 'Check=ok';
exit;
の部分までを中にコピーして、あて先と差出人を逆にしたのですが
できませんでした。
下記にsub sendmailの部分を貼り付けておきますので、ぜひお返事いただけないでしょうか?
よろしくお願いします。
sub sendmail {
if (!(open(OUT,"| $sendmail -t"))) { &error('エラー'); }
print OUT "X-Mailer: WebFORM v4.0 by www.rescue.ne.jp\n";
print OUT "X-HTTP_REFERER: $ref\n";
print OUT "Errors-To: $mailto\n";
print OUT "To: $mailto\n";
print OUT "From: $email\n";
&jis("Subject: $subject"); print OUT "$msg\n";
print OUT "Content-Transfer-Encoding: 7bit\n";
print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n\n";
&jis("--- ここから ---"); print OUT "$msg\n\n";
$count = @DATA_N;
foreach (0..$count-1) {
if ($DATA_V[$_] =~ /\n/) { &jis("$DATA_N[$_] =\n\n$DATA_V[$_]\n"); print OUT "$msg\n"; }
else { &jis("$DATA_N[$_] = $DATA_V[$_]"); print OUT "$msg\n"; }
}
&jis("--- ここまで ---"); print OUT "\n$msg\n\n";
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }
print OUT "\n";
print OUT "----------------------------------------\n";
print OUT "送信日時 : $date_now\n";
#print OUT "Server-Name : $ENV{'SERVER_NAME'}\n";
#print OUT "Server-Protocol : $ENV{'SERVER_PROTOCOL'}\n";
#print OUT "Server-Port : $ENV{'SERVER_PORT'}\n";
#print OUT "Gateway-Interface : $ENV{'GATEWAY_INTERFACE'}\n";
#print OUT "Request-Method : $ENV{'REQUEST_METHOD'}\n";
#print OUT "Script-Name : $ENV{'SCRIPT_NAME'}\n";
#print OUT "HTTP-Referer : $ref\n";
print OUT "HTTP-User-Agent : $ENV{'HTTP_USER_AGENT'}\n";
print OUT "Remote-host : $host\n";
print OUT "Remote-Addr : $ENV{'REMOTE_ADDR'}\n";
print OUT "----------------------------------------\n";
print OUT "\n";
close(OUT);
print "Content-type: text/plain\n\n";
print 'Check=ok';
exit;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Outlook(アウトルック) Excel表のメールアドレスリストからoutlookの宛先を設定、メールを送信する方法 2 2022/09/16 05:29
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- その他(ネットショッピング・通販・ECサイト) 11月1日に中国サイトで品物を購入しました私は何度もメールしていて4日に発送するとメールがあり5日の 6 2022/11/08 10:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
number 改行が追加できない
-
エクセルで集計したい。
-
生成AI画像について
-
さくらサーバーにcgiフォームを...
-
フォームを再送信しますか?
-
チェックボックスでのvalue値の...
-
(フリーの)ツリー掲示版CGI、...
-
apacheでPerl CGIが作動せず、5...
-
HPにアクセスするとスピードが...
-
誕生日占いをプログラムで作成...
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
ホームページでCGIのフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perl/cgi リダイレクトができない
-
htmlからパラメータで、cgiに渡...
-
フォントサイズを変えるには?
-
CGI経由でのPDFファイルをダウ...
-
CGI
-
プログラム実行中の待機ページ...
-
メイルフォームの本文が文字化け
-
Yomi-Searchのカテゴリを縦並び...
-
cgi(perl) sendmailの使い方
-
sendmail 送信先を複数設定す...
-
iis+cgiでmultipart/form-data...
-
<FORM TYPE="subumit">でデータ...
-
サーバー上のPDFにCGIでパスワ...
-
指定のフォルダに指定のファイ...
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
チェックボックスの返す値
-
INPUT TYPE
おすすめ情報