2010-02-03 31 views
1

我正在構建一個照片共享網站(僅測試PHP的東西),我希望用戶能夠使用電子郵件提交照片。PHP使用傳入的電子郵件執行操作

例如,當用戶發送帶有圖像附件和正文中的文本的電子郵件時,網站需要運行腳本。該圖像將被上傳到服務器,並且將以電子郵件正文中的文本爲描述創建一個新的「照片文章」。

我的問題是,如何告訴我的服務器在電子郵件收到時自動運行腳本?

任何/所有的幫助,非常感謝。如果您想了解更多信息,只需評論!

謝謝! -Giles

回答

0

你想使用cron。這是定期運行腳本的標準Unix方式,無需用戶干預。創建您的腳本,確保它可以由服務器用戶運行,然後安排它(完整的命令,例如cron中的php myscript.php)。收到電子郵件時它不會運行,但您可以經常運行該腳本,以免差異不明顯。

+0

我希望得到關於downvote的一些信息 - 是的,當電子郵件發生時,cron不會直接將電子郵件推送到腳本,但它可以讓您管理流量。如果他收到了大量的附件和大量的電子郵件,我認爲最好是每一段時間都有一份工作,檢查最後一次運行是否還在進行等等。 – Tom 2010-02-03 15:53:39

0

或者,您可以將電子郵件直接「管」到您的PHP腳本。這樣做的過程會略有不同,具體取決於您的電子郵件套件和/或服務器控制面板軟件。您可以從Kayako手冊(第61頁起)獲取「靈感」,其中介紹如何設置電子郵件管道到Kayako支持服務檯。但是你必須自己編寫從STDIN讀入文件的PHP文件。

1

如果您正在UNIX服務器上運行網站,您可以使用procmail,sieve或類似的mailtransport幫助程序進行訪問。您必須爲別名recepient創建一個useraccount,因爲procmail僅被調用來處理「真實」用戶郵件。你的.procmailrc文件將是這個樣子:

:0 
* 
| /usr/bin/php /path/to/your/script.php 

請記住,使用procmail將通過它的信息作爲參數(而在ENV變量)。

上述場景可能不會在所有可能適合你,但如果它是那麼我建議在http://www.procmail.org/

2

左看右看如果您使用的cPanel可以通過管道將電子郵件發送到腳本,然後處理電子郵件因此。您可以在電子郵件轉發器下找到該選項。

相關問題