假設我有一個包含5個電子郵件地址的數據庫,並且我有一個聯繫表單。分配負載
每次用戶提交聯繫表單時,表單都需要將詳細信息提交給我的一個存儲的電子郵件地址。這我可以處理,但我開始感到困惑,我將如何得到它*與電子郵件分享提交。
IE。我需要分享電子郵件地址之間的負載。每次提交聯繫表格時,都需要發送到我表格中的下一個電子郵件地址。然後從最開始的時候開始到達最後一封電子郵件。
對不起,如果這是一個嚴重的初學者問題,我似乎不能想到這樣做的最佳方式。
假設我有一個包含5個電子郵件地址的數據庫,並且我有一個聯繫表單。分配負載
每次用戶提交聯繫表單時,表單都需要將詳細信息提交給我的一個存儲的電子郵件地址。這我可以處理,但我開始感到困惑,我將如何得到它*與電子郵件分享提交。
IE。我需要分享電子郵件地址之間的負載。每次提交聯繫表格時,都需要發送到我表格中的下一個電子郵件地址。然後從最開始的時候開始到達最後一封電子郵件。
對不起,如果這是一個嚴重的初學者問題,我似乎不能想到這樣做的最佳方式。
你能想到的電子郵件表的額外列的所謂sendcount
默認0在腳本要找出發送電子郵件至該地址,請執行下列操作:
//Get email with least counts
$query="SELECT * FROM emails ORDER BY sendcount ASC LIMIT 1";
$result=mysql_query($query);
$object=mysql_fetch_object($result); //This will store the required email address in $object->email
//Send email...
//Increase counter by one
$query="UPDATE emails SET sendcount=sendcount+1 WHERE id=".$object->id;
mysql_query($query);
這樣你總是會發送電子郵件到最小的地址!
這是完美的!非常感謝 – Charlie 2012-08-12 12:11:14
兩個選項浮現在腦海中:
只需選擇與陣列隨機的電子郵件地址,不要爲了將它們發送到每個電子郵件打擾。這將實現起來更加簡單,並且將會給您帶來相同的規模效果。
$my_emails = array('anemail', ...);
$selected_email = $my_emails[array_rand($my_emails)];
增加一個計數器,在一個數據庫表或文件或東西堅持的價值,然後用你的計數器的模數和電子郵件的數量從選擇到選擇電子郵件,例如
$counter = fetch_counter();
$my_emails = array('anemail', ...);
$index = ($counter + count($my_emails)) % count($my_emails);
$selected_email = $my_emails[$index];
$counter++;
store_counter($counter);
我沒有爲年,所以YMMV編程PHP。你已經被警告;)
假設@Charlie不需要持久性,這當然會起作用... – weltschmerz 2012-08-11 13:43:08
如果您需要持久性,我建議的第二個選項將會起作用。顯然你需要實現持久化代碼,但你明白了。 – jstr 2012-08-11 13:45:47
謝謝,我很感激它:)我想過一個數組轉換,但會堅持隨機方法。謝謝! – Charlie 2012-08-12 11:29:35
您可以嘗試找出提交的相似之處並分享此內容。然後,您可以構建樹並使用貪婪算法分發電子郵件。這個問題看起來像一個垃圾箱或虛擬機共享。
讓5個用戶共享同一個POP帳戶會容易得多。 – 2012-08-11 13:15:28