我正在嘗試編寫一項服務,爲用戶提供一個子域作爲郵箱。
所以我需要自己實現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. 服務定位協議的示例客戶端實現?
- 5. Ruby EventMachine中的IMAP服務器實現
- 6. 如何實現協議
- 7. 實現net.msmq端點協定的WCF服務對象是否也實現了net.tcp端點的回調協議?
- 8. 如何實現服務器端SMTPSTARTTLS?
- 9. 服務器 - C#,客戶端 - 閃存,數據交換協議
- 10. C#客戶端 - 服務器協議/模型問題
- 11. 如何告訴服務器客戶端支持SPDY協議?
- 12. 是否需要在郵件服務器中實現POP3協議?
- 13. 瞭解服務器協議
- 14. VisualSVN服務器的協議
- 15. RTCweb服務器端實現
- 16. 如何實現應用程序協議
- 17. 使用Objective-C屬性獲取器實現Swift協議
- 18. 如何在couchdb/NoSQL數據存儲上實現IMAP服務器?
- 19. C/C++中的實現通信協議
- 20. 關於流行的客戶端/服務器協議的建議
- 21. 實現NSCoding協議
- 22. 如何實現OLE服務器在C#
- 23. 如何使用jQuery DataTables插件實現服務器端處理?
- 24. 如何使用GWT實現客戶端/服務器加密
- 25. 爲Hadoop實現協調器服務
- 26. 在Office 365上交換 - 需要協議,協議端口和服務器
- 27. 應用服務器通信協議
- 28. 使用OPC UA協議在python中進行服務器端客戶端編程
- 29. GWT客戶端與ASP.NET C#服務器端的通信/傳輸協議
- 30. 使用蚊式API實現mqtt協議
這是golang版本的imap-server。 https://github.com/jordwest/imap-server – qin