0

contact.html私は 1 つのお問い合わせフォームを持っていますが、私のサイトには部門に基づいて異なるお問い合わせセクションがあるため、私のウェブサイトのどこでも (このフォームの複数のコピーではなく)この単一のフォームを使用したいと考えています。

たとえば、マーケティング用のおmarketing@mydomian.com問い合わせフォームは に、営業用のお問い合わせフォームは にsales@mydomian.com、人事部のお問い合わせフォームは に電子メールを送信する必要があるとしますhr@mydomain.com

提出物を適切な部門の電子メールアドレスにリダイレクトしながら、単一のフォームを使用するにはどうすればよいですか?

メール送信に FormMail.pl バージョン 3.14m1 を使用しています。

4

2 に答える 2

3

このドキュメントの例 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 のコードを見つけました。それが正しいことを願っています。

于 2012-06-12T15:24:02.220 に答える
0

@Widor は彼のコメントでいくつかの提案を提供しており、そのうちの 1 つがあなたに最適かもしれません。

Refererただし、ヘッダーをチェックして、リクエストがどのページから来たかを確認すると役立つ場合があると思います。そこから適切な宛先を判断できると思います。

于 2012-06-12T15:24:57.710 に答える