このドキュメントの例 4 には、隠しフィールドを設定できる場合の方法が説明されています。これはおそらく最良の解決策です。
Web サイトのすべての異なる部分に同じフォームが必要な場合、は機能しinput type="hidden"
ません。参照 URL を確認する必要があります。
おそらく、perl スクリプトの構成セクションは既に編集済みです。これは、それがどのように見えるかです。このセクションの最後よりも下の部分は変更しないでください。
# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
上記の例で行ったように、引き続き構成を行うことができます。
%recipient_alias = (
'hr' => 'hr@mydomain.com',
'sales' => 'sales@mydomian.com',
'marketin' => 'marketing@mydomian.com',
);
ただし、隠しフィールドがない場合は、少し変更する必要があります。
$ENV{'HTTP_REFERER'} =~ m!mydomain.com/(\w+)/contact\.html/!;
@recipients = ($recipient_alias{$1});
リクエストがどの部門の連絡フォームから来たかを調べるための正規表現を追加しました。URLは次のようになっていると思いますhttp://www.mydomain.com/sales/contact.html
。正規表現は部門をキャッチし、それをハッシュ$1
のキーとして使用できる場所に配置します。%recipient_alias
そのキーの値を@recipients
配列に取り出します。
エイリアスの非表示フィールドがない場合に使用されると想定しました。うまくいかない場合は、ハッシュの名前を変更する必要があります。
ここで FormMail.pl のコードを見つけました。それが正しいことを願っています。