2010-07-30 78 views
8

我設法發送多封電子郵件(check here)。我堅持通過cron發送自動電子郵件。如何通過cron作業發送電子郵件php mysql

這就是我需要的 - 當管理員發送電子郵件時,我將消息,電子郵件,活動日期存儲在數據庫中。現在我正在嘗試設置一個cron作業,將郵件作爲提醒信息發送到表格中的所有這些id。我不熟悉cron作業腳本,任何人都可以幫助指導我寫腳本的正確方法,我可以將它放在cron選項卡中。我計劃發送兩封郵件 - 一天在活動之前和活動當天。感謝

回答

9

只需編寫一個普通的PHP腳本 - 製作一個能夠直接從瀏覽器啓動的腳本。然後計劃是非常相同的PHP文件在cron運行,以此作爲指導:

http://www.unixgeeks.org/security/newbie/unix/cron-1.html

基本上,使用值之初,指定日程(分鐘,小時,星期,日月等)。然後設置它運行的用戶,這很可能是「apache」或任何你的web服務器守護進程正在運行。然後設置「命令」是cron是運行是php php_email_script.php(其中「php_email_script.php」是你的PHP文件的名稱

+0

我曾經這樣做過,但根據我的經驗,wget方法更容易維護,因爲您仍然只有一個入口點。當然,您需要了解安全隱患,因此爲了保持安全,腳本不應該有任何爭論。 – mvds 2010-07-30 03:00:41

+0

嗨, 謝謝,我遵循你的指示,我做到了。它工作正常!我將發佈答案(簡單查詢和郵件功能)作爲答案。我應該在「回答你的問題」下發帖嗎? – Jay 2010-07-31 01:23:25

+0

嗨,我很快回復,如果我的查詢返回3日期是當前日期之後的記錄,它只是發送郵件的第一個而不是其他人。我嘗試while循環,但沒有幫助。有什麼建議麼? – Jay 2010-07-31 02:28:59

5

30分鐘,仍然沒有答案,這裏有幾個敞開的大門。

  • 的cron讀取它的規則,從全系統的/etc/crontab,或者從您個人的crontab您與crontab -e
  • 的cron編輯需要,你在哪分鐘/小時/天/月的事情應該發生,使用谷歌或man crontab的說的格式格式
  • cron有驚人的副作用將命令的輸出郵寄給擁有crontab的用戶

現在你要說明你正在使用php。從cron運行一些php最簡單的方法是發出wget -O - -q http://yoursite.com/yourprocessingscript.php?verysecret=123123並在yoursite.com上有適當的處理腳本。 (您可能要讓該腳本檢查$ _ SERVER [「REMOTE_ADDR」])

因此,在短期,如果你只是在/ etc/crontab中正確的魔法,比如

0 0 * * * jay wget -q -O - "http://yoursite.com/processmidnight.php?secret=yes_very" 

,並讓您的腳本產生一些合理的輸出,你會得到一個郵件給本地用戶傑伊,你可能想轉發。

+0

嗨,謝謝,你的解釋和下面的答案幫助我走向了正確的方向。我會發布我很快就會發布的內容。它工作正常。謝謝。我嘗試了curl方法,但我通過在cron選項卡中調用php腳本。 – Jay 2010-07-31 01:24:44

相關問題