我正在嘗試編寫一項服務,爲用戶提供一個子域作爲郵箱。
所以我需要自己實現IMAP服務器。
我注意到mimekit/mailkit可以幫助我。 (至少他們可以幫助我測試我的服務器。)
使用mimekit/mailkit可以實現最小的IMAP協議(服務器端)嗎?如何使用C#實現IMAP協議(服務器端)#
回答
我會說MimeKit肯定會有所幫助,因爲編寫IMAP服務器(或甚至是POP3或SMTP服務器)的重要部分是您在某些時候需要處理解析消息和/或標題和MimeKit是一個完美的解決方案。
還有部分 MailKit可能有助於實現IMAP服務器。例如,爲您的IMAP服務器項目重新使用UniqueId
(及相關)類可能會有用。同樣,如果您最終實施THREAD
擴展,那麼MessageThreader
類將是無價的。
ImapEncoding
類肯定是可重用的。
您可能能夠至少部分地重新使用ImapStream
(和ImapToken
)類作爲您的標記生成一個IMAP服務器,但我不是100%確定,因爲我從來沒有看它從這個角度來看,那裏可能會有細微的差異,但你可以把它作爲一個合理的起點。
ImapUtils.FormatInternalDate()
會重用一個很好的候選人...
您可能能夠重用很多FolderQuota
和AccessControl
類的,以及如果你最終支持QUOTA
和/或ACL
IMAP擴展(不是那些班級做得很多)。
我敢肯定還有許多其他位&件,將有助於重新使用從MailKit,但你將無法輕鬆地打開ImapClient
類爲ImapServer
類,例如。
然後,當然,正如您在文章中提到的那樣,您始終可以使用MailKit作爲測試IMAP服務器實現以確保工作正常的好方法。
希望能幫助回答你的問題。
是否可以使用mimekit/mailkit實現最小IMAP服務器?
簡答:不!
該項目的主要目標是提供.NET世界 強勁,功能齊全和符合RFC的SMTP,POP3和IMAP客戶端 實現。
您應該提防一臺郵件服務器之間的巨大差別(這使你的電子郵件,是對外界可見的,通常是24/7實時),並主要用於從獲取電子郵件的郵件客戶端那個切斷。
IMAP服務器不等於郵件服務器。我的意思是隻實施IMAP協議(服務器端)。我只是希望用戶可以使用IMAP來獲取郵件。 – qin
- 1. 爲Android客戶端(Android)和C#服務器實現協議
- 2. Anymote協議服務器實現
- 3. 強制bazaar客戶端協議使用服務器協議2?
- 4. 實現IMAP服務器
- 5. 使用協議實現多個API調用(服務器請求)
- 6. 客戶端服務器,設計協議
- 7. 如何使用WebRTC實現HTTP協議?
- 8. 除了Git本身,任何實現Git協議的服務器?
- 9. Ruby EventMachine中的IMAP服務器實現
- 10. Web服務協議(實時)
- 11. IMAP命令使用Libcurl與C++和IMAP協議
- 12. 如何實現協議
- 13. 使用帶有加密的HTTP協議實現WCF服務
- 14. 實現net.msmq端點協定的WCF服務對象是否也實現了net.tcp端點的回調協議?
- 15. 如何實現服務器端SMTPSTARTTLS?
- 16. 如何實現worklight服務器端serverSessionTimeout?
- 17. 服務器端應用程序與端點協議(RESTful/SOAP)
- 18. C#客戶端 - 服務器協議/模型問題
- 19. 服務器 - C#,客戶端 - 閃存,數據交換協議
- 20. c使用TCP/IP協議的服務器客戶端應用程序
- 21. 如何告訴服務器客戶端支持SPDY協議?
- 22. 是否需要在郵件服務器中實現POP3協議?
- 23. Apache服務器協議
- 24. VisualSVN服務器的協議
- 25. 瞭解服務器協議
- 26. RTCweb服務器端實現
- 27. 實現NTP服務器端
- 28. 如何實現應用程序協議
- 29. 使用Objective-C屬性獲取器實現Swift協議
- 30. 如何在couchdb/NoSQL數據存儲上實現IMAP服務器?
這是golang版本的imap-server。 https://github.com/jordwest/imap-server – qin