2012-06-12 49 views
1

我有一個單一的接觸我們形成什麼我想要做的就是在我的網站爲諸如contact.html(這種形式不是多個副本)在任何地方使用這種單一的形式我網站根據部門有不同的聯繫我們部分。重定向「聯繫我們」的形式,以不同的電子郵件地址

比方說,接觸我們形成了營銷應該通過電子郵件發送給[email protected],聯繫,我們形成了銷售應該通過電子郵件發送給[email protected],HR的聯繫,我們應該形成電子郵件[email protected]

如何在將提交重定向到相應部門電子郵件地址的同時使用單一表單?

我使用FormMail.pl版本3.14m1來提交電子郵件。

+0

有很多的方式 - 它的基礎上的URL,網頁標題,或帶有部門ID表示預期接收者的'輸入型=「隱藏」'值。 – Widor

回答

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' => '[email protected]', 
    'sales' => '[email protected]', 
    'marketin' => '[email protected]', 
); 

但是,如果沒有隱藏字段,則我們將不得不改變的事情aroung了一下:

$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的代碼。我希望這是正確的。

+0

感謝您的快速響應。我會試着讓你知道它的工作 – future

+0

你好這裏$ ENV {'HTTP_REFERER'} =〜m!mydomain.com /(\ w +)/ contact \ .html/!; @recipients =($ recipient_alias {$ 1});部分需要插入.pl文件以及如何爲每個url執行條件。我是cgi-或perl中的新成員。 – future

+0

現在就把它放在'%recipient_alias'和'@ recipients'值的位置。應該在答案中發佈的'BEGIN'部分的上半部分。 **不過,如果你不知道你在做什麼,請不要在config下面編輯。 – simbabque

0

@Widor在他的評論中提出了一些建議,其中一個可能對你最好。

但我認爲這可能是檢查Referer頭以請求來自哪一個頁面是有用的。我想你可以從中確定一個合適的收件人。

+0

如何使用引用,是否有任何例子。我是perl的新手 – future

相關問題