我正在編寫一個Web應用程序,它需要接收用戶內部電子郵件地址的電子郵件,讓管理員批准它們,然後轉發到相應用戶的外部郵箱。Postfix message received hook
我已經安裝並配置了郵件接收任務的postfix。它使用虛擬電子郵件地址,以及存儲用戶電子郵件地址的現有數據庫。本地電子郵件存儲是maildir,我使用postfix的虛擬MDA。
基本上,我想在每次收到新消息時執行一個腳本,並且對於哪個用戶(maildir消息ID也會非常有幫助)。然後我可以從python代碼中讀取消息(python有一個用於maildir消息框的模塊)並將其插入到數據庫中。 我能想到的三種方式來做到這一點:
- 迭代用戶maildirs和檢查 如果有任何新的消息,但它是無效的大量用戶。
- 使用dbmail,然後檢查數據庫中是否有新消息(這會更快,但我必須從頭開始配置所有內容)。此外,現有的用戶數據表不能使用。
- 在maildrop/virtual上寫一個包裝以保存db和maildir中的消息,但是我需要一種方法來檢查接收到的消息是否有效,並通過real MDA來成功保存。
任何建議表示讚賞!
這將是不錯的方法,但我使用虛擬中繼機制。 – fest 2009-11-22 12:33:22