Ich habe einen benutzerdefinierten E-Mail-Server und Web-Client implementiert. Der Server ist nur eine REST-API (ähnlich der Google Mail-API von Google), die einen Drittanbieter (sendgrid) zum Senden und Empfangen verwendet. Die E-Mails werden in einer Datenbank gespeichert. Der Webclient kommuniziert nur mit dem REST-Client zum Senden und Empfangen.IMAP Server Facade - wie macht man das?
Das Problem bei diesem Ansatz ist es nicht IMAP überall nicht implementiert, die es unmöglich für Standard-Clients (Outlook, iPhone, etc.) zu verbinden und nutzen Sie unseren E-Mail-API macht. Dies beschränkt die Kunden darauf, nur unseren Client für E-Mails zu verwenden.
Was ich brauche ist eine Art von IMAP-Server "Fassade", die die Verbindungen zu Clients verwalten und Aufrufe an meine REST API für die tatsächliche Bearbeitung der Anfragen (E-Mail, E-Mail senden, etc.).
Wie kann eine IMAP-Fassade umgesetzt werden? Gibt es vielleicht eine Möglichkeit, einen bestehenden MailServer zu nehmen und ihn auf all seine "Ereignisse" zu lenken, um Aufrufe an meine API zu richten?
Ja, das ist möglich. Mit Dovecot können Sie beispielsweise Speichermodule anschließen. – arnt
Haben Sie eine bevorzugte Sprache? – vzwick
Die Frage sagt .net, also C# ish ... aber es gibt nicht viel IMAP-Server-Code in C#. Client, ja, sicher, aber nicht Server, und bei weitem der größte Teil des Problems ist IMAP zu dienen ... – arnt