2011-06-12 12 views
5

我正在爲小型培訓中心開發一款基本但高度定製的CRM,該培訓中心能夠存儲學生記錄並向他們發送電子郵件。在CakePHP中,我使用SwiftMailer在this excellent tutorial之後完成發送部分。在CakePHP中接收/檢索電子郵件

當然,學生有時會回覆電子郵件,我想在我的CRM中檢索它們,並將它們與學生記錄一起存儲。

但是,我找不到這樣做的單一參考。我嘗試過以下谷歌搜索:「接收電子郵件cakephp」,「檢索電子郵件cakephp」,甚至「電子郵件客戶端cakephp」,但所有這些查詢都給出了有關發送郵件的結果,而不是收到它 - 非常令人沮喪!

最後,我將搜索拓展到非蛋糕解決方案,並找到有人推薦一個名爲ezComponents的庫。它似乎沒有任何積極的發展大約一年,但它包括一個電子郵件接收班,這正是我想要的。不幸的是,我不知道如何將它添加到CakePHP中,並且我已經能夠在整個Web上找到關於此問題的唯一post並不完全詳細。這當然不是一個關於在CakePHP上使用ezComponents的分步教程,就像上面提到的SwiftMailer教程一樣。

我還在Google Code上找到了一個名爲php-imap的類,它看起來會做這項工作,但是,我再也沒有絲毫的線索知道如何讓它在像SwiftMailer這樣的Cake中快樂地工作。

我意識到我可能不得不學習如何在Cake中學習如何使用Cake類,但是我首先提出了這個問題,因爲這個問題已經有一個Cake友好的解決方案,我只是還沒有意識到:-)

約瑟夫

+0

我沒有給你一個答案,但我想你需要一個郵箱,並使用IMAP或POP3進行監控(並找到PHP類來執行此操作,例如http://pear.php.net/packages.php?catpid=14&catname=Mail)。不知道下面的William Golden的答案,但我認爲,否則你會有效地建立自己的電子郵件服務器。 – contrebis 2011-06-13 23:50:27

回答

5

感謝大家對你的答案,但我一直在做一些更多的搜索和它看起來像解決方案其實是非常簡單的。

基本上,在插件的幫助下,我可以將databases.php中的郵件服務器設置爲數據源,然後編寫一個模型和控制器來與之交互。

這是我發現的例子: https://github.com/kvz/cakephp-emails-plugin

編輯:回購已被棄用,現在可以在https://github.com/kvz/deprecated/tree/cakephp-emails-plugin

+3

快速隨訪:我這個昨晚實現,它的工作原理的魅力通過模型檢查電子郵件,讓這麼多的意義,並能夠與電子郵件數據交互時充分享受所有的蛋糕的其他好處 – Joseph 2011-06-16 03:25:10

+0

您好約瑟夫。 ..我還沒找到Git上的插件..你可以把它發給我..? – 2014-11-12 10:13:55

+0

好吧,我會在早上看看它(現在是晚上10點+5啤酒現在),如果我找不到它在網上,我會上傳複製我的地方,並給你的鏈接。 – Joseph 2014-11-12 14:45:40

0

聽起來像是你要包括SwiftMailer作爲一個蛋糕插件,amirite?

http://book.cakephp.org/view/1111/Plugins

- 如果你想自己打包。否則,粗略搜索麪包店的產生這樣的結果:

http://bakery.cakephp.org/articles/sky_l3ppard/2009/11/07/updated-swiftmailer-4-xx-component-with-attachments-and-plugins

希望這將至少讓你在正確的方向。 HTH。 :)

+0

感謝您的回覆,如果我不清楚,請對不起。我已經使用該確切URL中的說明包含了SwiftMailer。 現在我正在尋找另一個插件來發送_receive_電子郵件,而不是發送它。 ezComponents似乎提供了我需要的東西,但基於我已閱讀的內容,它必須打包爲Vendor庫而不是插件,就像SwiftMailer一樣。 CakePHP Book中唯一的信息是,CakePHP 1.3不再支持Vendor,SwiftMailer作爲供應商工作起來沒什麼意義,但是,無論如何,他們都沒有提供關於如何將庫打包爲供應商。 – Joseph 2011-06-13 04:19:53

+0

供應商支持和逐步從供應商到插件的狀態是Cookbook/Cake路線圖的一部分,我並不真正瞭解,但我確實知道即使它已被棄用,Cake 1.3仍然支持供應商(因爲我使用如果你能解決你的問題,我會說檢查更新日誌和路線圖,但是一個解決方案可以運行>一個有計劃的解決方案,amirite? ;)以下是食譜中基本變更日誌的鏈接 - http://book.cakephp.org/view/1571/Vendors-Test-Suite-schema – OpenSorceress 2011-06-13 15:07:14

+2

只是澄清:供應商仍然受支持,只支持供應商*資產提供服務*(即從js/css/img目錄提供文件)僅被移至插件/主題。如果你想使用CKeditor作爲供應商,例如它自帶的js/css/img文件,它將會更好地打包成一個插件。僅PHP的供應商,如SwiftMailer類,仍然作爲供應商。 – deizel 2011-08-22 20:30:34

1

您將想要將您的電子郵件發送到PHP並使用stdin://讀取電子郵件的內容並將電子郵件添加到您的數據庫。

我已經做了這個蛋糕,最簡單的方法是做一個蛋糕控制檯應用程序來處理解析。同樣使用cpanel的帳戶級別過濾來生成管道非常簡單。

http://forums.cpanel.net/f5/piping-mail-php-scripts-howto-checklist-50985.html

http://www.evolt.org/incoming_mail_and_php

+0

有趣的是,要看看這個... – contrebis 2011-06-13 23:54:45

+0

@william:thankx給你..它肯定會與CakePHP一起工作嗎?如果你能爲我寫一個幫助步驟的總結,那真的會對我有幫助嗎?意味着我怎麼能用你的經驗做到這一點。 其實我沒有得到任何幫助..並沒有經驗與蛋糕殼牌。 :( – 2014-11-13 07:17:47