2009-05-04 24 views

回答

0

Flickr已經發布了他們的方法來完成這個建立可伸縮網站的書。整個chapter 6致力於這個話題。如上所述,您不需要非標準的MTA。默認的MTA可以正常工作(sendmail,qmail,postfix,exim等)。你所要做的就是編輯/ etc/aliases。可以使用/ etc/aliases來設置郵箱以將所有電子郵件傳遞給腳本。

我強烈建議您使用reading through this chapter,因爲它接下來將概述很多常見問題,包括解析附件,應對來自移動設備的電子郵件(通常包含壞/奇怪的標頭),正確地執行授權等。

4

有兩種方法可以做到這一點,因爲我看到它:

首先,你可以使用現有的SMTP服務器/電子郵箱系統,在某個區間,拉從消息使用POP3或IMAP將郵件插入數據庫/系統。

或者,您可以編寫一個SMTP實現,它將接受進入的電子郵件並執行您的自定義邏輯以將數據放入數據庫/系統而不是放入郵箱。這最終是一個更清潔的設計,其開銷將會小得多。事實上,在那裏可能有一個SMTP服務器實現,它允許你注入這種自定義邏輯(如果我能找到它,我將進行編輯)。

就我個人而言,我會選擇第二個選項。這將使您對系統中發生的事情有更多的控制權,並且它將具有整體更清潔的設計。

祝你好運!

編輯:這不是PHP,但是JAMES從Apache是​​一個Java的郵件服務器,可以讓你注入自定義郵件處理單元(稱爲mailets的)來處理郵件處理。您可以編寫這樣一個mailet,它將處理電子郵件並將更新放入數據庫而不是郵箱。可能有其他項目實施這種設計,所以值得一看。

再次編輯: Ooo ...這是SourceForge上的開源php SMTP server。我不知道你可以注入自定義的邏輯,但你可以隨時編輯源代碼,並使它做你想做的事! (如果你堅持使用PHP)

+0

真棒,感謝您對「mailets」的編輯:) – mdcarter 2009-05-04 20:44:39

+0

如果您對此感興趣,我還添加了一個鏈接到開放源代碼的php SMTP服務器。 – dustyburwell 2009-05-04 20:47:17

1

有幾種免費郵件服務器支持使用MySQL或任何其他數據庫作爲存儲後端,並且只需要配置即可。如果你不習慣定製現有的郵件服務器或自己寫郵件服務器,我會選擇這個解決方案。它比使用POP3或IMAP與郵件服務器進行通信快幾個數量級。

相關問題