2013-08-23 94 views
0

是否有可靠的方式阻止用戶一次發送多封電子郵件?阻止用戶發送多封電子郵件

我有一個基本的HTML形式,它允許用戶在電子郵件地址類型:

[email protected] 

能正常工作和電子郵件被交付。但是,用戶也可以這樣做:

[email protected], [email protected], [email protected] 

當按下提交按鈕時,我的代碼會發送所有3封電子郵件。我如何阻止這種情況發生。我想限制用戶,並且只允許他/她每次提交發送1封電子郵件。

我目前擁有的代碼是這樣的:

<?php 

    $email_from = "[email protected]"; 
    $email_to = $_POST["referred_email"]; 
    $email_subject = 'test subject here'; 
    $email_message = $_POST["referred_message"]; 

    // create email headers 
    $headers = 'From: '. $email_from ."\r\n". 
    'Reply-To: '. $email_from ."\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

    $result = mail($email_to, $email_subject, $email_message, $headers); 

    if ($result) echo 'Mail accepted for delivery '; 
    if (!$result) echo 'Test unsuccessful... '; 

?> 
+1

你有試過什麼嗎? – Saturnix

+0

是的,我嘗試使用拆分來獲得數組中的第一個項目,但不知道這是多麼容易破解,因此問題。 – oshirowanen

回答

3

檢查$email_to是發送郵件之前一個有效的E-mail地址。要做到這一點,最簡單的方法可能是使用filter_var()

if (!filter_var($email_to, FILTER_VALIDATE_EMAIL)) { 
    // handle error 
}