我想用webman 搭建一個(gè)類似于EwoMail的郵局系統(tǒng)
先說一下既然有了EwoMail為什么不直接使用,而是重復(fù)造輪子
官網(wǎng):http://www.ewomail.com/
EwoMail是一個(gè)商業(yè)項(xiàng)目 雖然有開源版的但是項(xiàng)目代碼開源度不夠完善
如果在當(dāng)前業(yè)務(wù)沒有拓展的話還好
比如想增加一些API啥的雖然在開源版中也可以去自己手動(dòng)實(shí)現(xiàn)
但是相對(duì)來說很麻煩也很復(fù)雜而且對(duì)于他的項(xiàng)目結(jié)構(gòu)也不是非常清楚
所以我想自己制作一個(gè)郵局系統(tǒng)
在webman中是可以自定義進(jìn)程的 我的想法是用自定義進(jìn)程去實(shí)現(xiàn)監(jiān)聽收件。然后把郵件存放到指定位置
webman自定義進(jìn)程是相當(dāng)于對(duì)workerman的一個(gè)簡(jiǎn)單封裝那由此又引發(fā)一個(gè)問題 自定義協(xié)議 workerman中并沒有監(jiān)聽郵件的協(xié)議 所以只能使用workerman的自定義協(xié)議
在Workerman中想指定協(xié)議是需要在項(xiàng)目目錄中定義一個(gè)Protocols文件夾 那么咋webman中自定義協(xié)議難道也要在項(xiàng)目根目錄定義一個(gè)Protocols文件夾么? 這個(gè)暫時(shí)不清楚我還沒有去進(jìn)行實(shí)踐
總結(jié):感覺問題很多如何自定義協(xié)議 然后我雖然知道郵局需要 IMAP協(xié)議 和 POP協(xié)議 但是我并不知道該如何去定義 沒辦法本人小白對(duì)于這些確實(shí)不太會(huì) 希望有大佬解答
看問題還是要看本質(zhì),webman提供的的自定義進(jìn)程就是對(duì)workerman的一層wrapper【或者你可以將wokerman理解為webman的一個(gè)子集也是可以的】,所以你的問題就迎刃而解了,方案就是基于高階的自定義進(jìn)程來實(shí)現(xiàn):
謝謝,我也是這樣想的,可以自己慢慢學(xué)協(xié)議然后慢慢開發(fā)到時(shí)候在封裝成webman的插件,也算對(duì)webman的生態(tài)進(jìn)行一個(gè)提升吧
一直以為EwoMail是純php開發(fā)的郵局,仔細(xì)看看他的文檔,發(fā)現(xiàn)用的都是一些別人的組件,只是用php做了一個(gè)管理后臺(tái),我想知道PHP真的能做到接收郵件嗎?
首先我認(rèn)為這和用什么語言開發(fā)沒有任何關(guān)系,用C、JAVA、go等一樣樣的,理論上講完全是可行的,
郵件領(lǐng)域內(nèi)的協(xié)議都是應(yīng)用層協(xié)議,既然是應(yīng)用層協(xié)議,那么socket就可以穿透,而workerman就具有這個(gè)能力,
因?yàn)樗庋b了socket實(shí)現(xiàn),所以你的問題焦點(diǎn)應(yīng)該集中在郵件協(xié)議的細(xì)節(jié)開發(fā)實(shí)現(xiàn)部分,
喜歡用PHP或者說用workerman來開發(fā)這種服務(wù),顯然還是得益于workerman的方便、高效和快捷;
另外你說技術(shù)封鎖?這個(gè)應(yīng)該說是國(guó)內(nèi)專業(yè)技術(shù)資源相對(duì)匱乏的現(xiàn)實(shí)吧,底層核心技術(shù)以及文獻(xiàn)基本都是老外打底的,
所以尋找這種專業(yè)性的技術(shù)文獻(xiàn)還得去官方站或者多google來找,比如郵件協(xié)議的specification應(yīng)該去找RFC
https://datatracker.ietf.org/doc/html/rfc5321
最后我感覺這是很有意義和挑戰(zhàn)的事情,支持你搞哈。