Libreria di server SMTP e IMAP per .NET
Domanda
Qualcuno conosce una buona libreria di server SMTP / IMAP per C #?
Ho trovato solo alcuni progetti a lungo abbandonati.
Solo SERVER SIDE , per favore non più post sulle librerie client.
Grazie, Fionn
Soluzione
Sto lavorando a un progetto in cui devo ricevere una posta via SMTP sulla rete locale (un'applicazione legacy sta inviando una posta a fini di integrazione). Inizialmente, avrei usato il server SMTP in IIS e usato i sink di evento, ma sembra un po 'pesante. Attualmente sto valutando le seguenti 3 biblioteche candidate:
nDumbster : open source ma non un server completamente implementato. Originariamente utilizzato per i test unitari. Analizza la posta su un oggetto per una facile ispezione. Ho dovuto rivederlo per sollevare un evento quando è stato ricevuto un messaggio.
SmtpServer : design moderno che utilizza .NET TPL e implementa STARTTLS. Il codice sorgente non sembra prontamente disponibile. Fornisce alcuni hook quando viene ricevuto il messaggio ma sembra consegnarti il ??contenuto del messaggio come un BLOB. (Non sono riuscito a testarlo perché richiede .net 4.5)
Rnwood.SmtpServer : sembra essere completo e il codice sorgente è disponibile anche se manca la documentazione.
Altri suggerimenti
LumiSoft.Net, una libreria dal server di posta LumiSoft, è una libreria lato server gratuita. Le classi server (ad es. Server IMAP, server POP3 e server SMTP) generano eventi quando necessitano di informazioni o azioni per la propria applicazione server, ad esempio "mi danno un elenco di messaggi nella cartella virtuale XXY".
Ho usato DotNetOpenMail in passato.
Non hai menzionato se stai cercando gratuitamente o a pagamento / commerciale. Ho usato IPWorks da nsoftware con grande successo in passato.
Per SMTP, c'è System.Net.Mail
. Per IMAP, non lo so. Ma una volta recuperata l'e-mail dal server, ti consigliamo di analizzarla. L'analisi MIME è la parte difficile. Per questo, uso e raccomando SharpMimeTools
.