CGI-BBS > 情報収集 > フォームメール > フォームメールの改造で送信者へ同じ文面を送りたい。


カレッヂ
カレッヂ


質問者  投稿日 2004/5/3(月) 04:35:30
以前の質問(8/30(木)10:23:07/送信者にも記入内容を自動送信したい )で、
送信者へも回答内容を同時に送るという書き込みを参考にして
webform.cgi
の
#■受信先メールアドレス
$mailto = '送信先Eメールアドレス';
部分を
#■受信先メールアドレス
$mailto = "xxx\@xxx.xxx,$EMAIL";
と見よう見まねsw書き換えてみたのですが、自分のところにはメールが
送られてきて、送信者へは届きませんでした。
どうすればうまくいくのでしょうか、教えて下さい。

プロバイダ参照:plala.or.jp
サーバのOS:不明
パソコンのOS:Mac9
エディタ:
FTPソフト:
サーバ移転:していない
改造:していない
CGI習熟度:(未選択)

回答者 papa  [削除]  投稿日 2004/5/27(木) 19:40:18
先ず、入力フォームに次の一行を加えてください。
<input type="hidden" name="check" value="on">

次にwebform.cgiの改造です。66行目あたりに

	if ($name eq "location") { $lct = $value; }
	elsif ($name eq "c_copy" && $value eq "on") { $cc = "on"; }

というのがありますので、その下に次の一行を追加します。

	elsif ($name eq "check" && $value eq "on") { $check = "on"; }

143行目あたりに

if ($cc eq "on") { print "<input type=hidden name=\"c_copy\" value=\"on\">\n"; }

というのがありますので、その下に次の一行を追加します。

if ($check eq "on") { print "<input type=\"hidden\" name=\"check\" value=\"on\">\n"; }

次にsub sendmail { の改造です。201行目あたりに、

	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";

	close(OUT);

以上で改造は終了です。入力された内容が入力者へも送信されます。

<input type="hidden" name="check" value="on">
を
<input type="checkbox" name="check" value="on">控えメール必要
とでもすれば、入力者の意志で返信メールを選択することもできます。

返信(回答)する

 


Web裏技