0

我有一个单一的联系我们表格,我想做的是contact.html在我的网站上随处使用这个单一的表格(而不是这个表格的多个副本),因为我的网站根据部门有不同的联系我们部分。

假设营销的联系我们表格应该通过电子邮件发送给marketing@mydomian.com,销售联系我们表格应该通过电子邮件发送给sales@mydomian.com,HR 的联系我们表格应该通过电子邮件发送给hr@mydomain.com

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

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

4

2 回答 2

3

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


如果您希望网站的所有不同部分都使用相同的表单,那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 在他的评论中提供了一些建议,其中之一可能最适合您。

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

于 2012-06-12T15:24:57.710 回答