2012-09-28 92 views
0

這可能很容易,但我沒有看到方式。我有一個購物車在我身邊,用戶可以購買東西。爲此,買方可以將他的電子郵件地址輸入到輸入表單中。該訂單將與php mail()一起發送給店主和買家。php限制郵件()

我正在尋找一種方法來限制郵件發送只有兩封電子郵件,這是爲了防止垃圾郵件。 我看到垃圾郵件發送者可以輸入這樣一個分號字符串風險:

[email protected];[email protected];[email protected] 
+4

標準電子郵件分隔符是逗號「,」不是分號「;」。 –

回答

1

你可以檢查字符串像這樣的電子郵件的數量:

if(count(explode(';',$emailList))<3) 
{ 
    // send email 
} 
else 
{ 
    // Oh no, jumbo! 
} 

此代碼將explode您的電子郵件基於字符串的將;字符轉換爲陣列,同時在陣列上使用count函數,並根據編號執行兩種情況之一。

5

Y不能您驗證使用。

$validemail = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); 
if ($validemail) { 
    $headers .= "Reply-to: $validemail\r\n"; 
}else 
{ 
//redirect. 
} 

考慮您的實際問題。

<?php 
$emails = explode(';',$emailList); 
if(count ($emails)<3) 
{ 
if(filter_var_array($emails, FILTER_VALIDATE_EMAIL)) 
    { 
    mail(); 
    } 
    else 
    { 
    //die  
    } 
} 
?> 
+0

他很擔心電子郵件注入。所以這可能會幫助他 –

+0

但首先是,他想限制郵件的數量。這是主要問題。 –

+0

嗨,我很擔心電子郵件注入。這很好,謝謝。 Ť –