将“联系我们”表单重定向到不同的电子邮件地址

时间:2012-06-12 14:43:42

标签: html perl email

我有一个联系我们表单,我想要做的是在我的网站上随处使用这个单独的表单,例如contact.html(不是此表单的多个副本),因为我的网站有不同的联系方式 - 我们基于部门的部分。

我们说联系我们的营销表单应该发送电子邮件给marketing@mydomian.com,联系我们的销售表格应该发送电子邮件给sales@mydomian.com,人力资源的联系我们表格应该发送电子邮件给hr@mydomain.com

如何在将提交内容重定向到相应的部门电子邮件地址时使用单一表单?

我正在使用FormMail.pl版本3.14m1进行电子邮件提交。

2 个答案:

答案 0 :(得分:3)

this document的示例4中,如果您可以设置隐藏字段,则说明如何执行此操作。这可能是最好的解决方案。


如果您希望网站的所有不同部分使用相同的表单,则input type="hidden"将无效。您必须检查引荐网址。

您可能已经编辑了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});

我添加了一个正则表达式,以找出请求来自哪个部门的联系人。我认为网址看起来像http://www.mydomain.com/sales/contact.html。正则表达式将捕获部门并将其放在$1中,我们可以将其用作%recipient_alias哈希的关键字。我们在@recipients数组中输出该键的值。

我只是假设如果别名没有隐藏字段,则会使用此选项。如果它不起作用,您应该更改哈希的名称。

我找到了FormMail.pl here的代码。我希望这是正确的。

答案 1 :(得分:0)

@Widor在他的评论中提出了一些建议,其中一个可能对你最好。

但我认为检查Referer标题以查看请求来自哪个页面可能很有用。我想你可以从中确定合适的收件人。