2013-05-14 51 views
1

我正在嘗試在線註冊表單系統。我只是想知道事件的日期是否已經過去了,我是否可以將所有已註冊該事件的人員列表(從MySQL數據庫)發送到電子郵件,但只能這樣做一次?我想你必須將現在的日期與開始日期進行比較,但是如何阻止它重新發送多次?如果日期已過去使用php發送電子郵件

我不是要求一個完整的書面腳本只是一個想法如何去做。

非常感謝

+0

使用cronjob,您需要記錄誰發送了消息。 – 2013-05-14 02:22:58

回答

1

PHP不能做到這一點外的開箱,因爲你不能開始執行的週期性任務每隔一段時間(或在特定時間點)。

因此,你有兩個選擇:

  • 開始使用外部機制,如CRON在Linux上發送。在每個平臺上都有這樣的功能。這基本上意味着你指示某個程序或操作系統組件每5分鐘訪問一個特定頁面以檢查是否有新郵件發送。 Google爲php cron爲例。谷歌爲php cron windows提示如何在Windows上做到這一點。
  • 您只需檢查是否有任何原因導致有人訪問該頁面時發送新郵件。這有明顯的缺點,但不需要你建立一個新的系統。
+0

如果每個事件只發送一次,並且使用相同的單個電子郵件地址,您可以使用php,還是應該更深入地觀察cronjob? – 2013-05-14 02:32:29

+0

@ByronFitzgerald我會去cronjobs(或非UNIX平臺上的等價物)。這實際上很簡單,你只需要將它設置爲每X分鐘運行一次。在PHP中執行的其他操作:檢查最後一項任務是否已完成,然後檢查是否有新郵件發送,發送,並將電子郵件標記爲已發送。 – likeitlikeit 2013-05-14 02:34:49

+0

好的,謝謝你的幫助 – 2013-05-14 02:37:50