source open net mail library leer correo c# imap

open - Accediendo a Imap en C#



open imap c# (6)

¿Hay un método incorporado para acceder a un servidor Imap (con SSL) en C # o hay una buena biblioteca gratuita?


Con la esperanza de que sea útil para algunos, es posible que desee verificar mi avance:

S22.Imap

Si bien hay un par de buenas y bien documentadas bibliotecas IMAP para .NET disponibles, ninguna de ellas es gratuita para uso personal, y menos comercial ... y simplemente no estaba muy satisfecho con las alternativas gratuitas en su mayoría abandonadas que encontré.

S22.Imap admite notificaciones de IDLE IDLE, así como SSL y recuperación de mensajes parciales. Me he esforzado por producir documentation y mantenerla actualizada, porque con los proyectos que encontré, la documentación a menudo era escasa o inexistente.

¡No dude en probarlo y avíseme si tiene algún problema!


He estado buscando una solución IMAP por un tiempo, y después de probar algunas, voy con AE.Net.Mail .

Puede descargar el código yendo a la pestaña Código y hacer clic en el pequeño icono ''Descargar''. Como el autor no proporciona ninguna descarga preconstruida, debe compilarla usted mismo. (Creo que puedes obtenerlo a través de NuGet). Ya no hay un .dll en la carpeta / bin.

No hay documentación, lo cual considero un inconveniente, pero pude mejorar esto mirando el código fuente (¡yay por código abierto!) Y usando Intellisense. El siguiente código se conecta específicamente al servidor IMAP de Gmail:

// Connect to the IMAP server. The ''true'' parameter specifies to use SSL // which is important (for Gmail at least) ImapClient ic = new ImapClient("imap.gmail.com", "[email protected]", "pass", ImapClient.AuthMethods.Login, 993, true); // Select a mailbox. Case-insensitive ic.SelectMailbox("INBOX"); Console.WriteLine(ic.GetMessageCount()); // Get the first *11* messages. 0 is the first message; // and it also includes the 10th message, which is really the eleventh ;) // MailMessage represents, well, a message in your mailbox MailMessage[] mm = ic.GetMessages(0, 10); foreach (MailMessage m in mm) { Console.WriteLine(m.Subject); } // Probably wiser to use a using statement ic.Dispose();

Asegúrese de verificar la página de AE.Net.Mail para la versión más nueva y algunos ejemplos de código mejores.



No hay soporte de .NET framework para IMAP. Tendrá que usar algún componente de terceros.

Pruebe https://www.limilabs.com/mail , es muy asequible y fácil de usar, también es compatible con SSL:

using(Imap imap = new Imap()) { imap.ConnectSSL("imap.company.com"); imap.Login("user", "password"); imap.SelectInbox(); List<long> uids = imap.SearchFlag(Flag.Unseen); foreach (long uid in uids) { string eml = imap.GetMessageByUID(uid); IMail message = new MailBuilder() .CreateFromEml(eml); Console.WriteLine(message.Subject); Console.WriteLine(message.TextDataString); } imap.Close(true); }

Tenga en cuenta que este es un producto comercial que he creado.

Puede descargarlo aquí: https://www.limilabs.com/mail .


No lo he probado yo mismo, pero esta es una biblioteca gratuita que puedes probar (no estoy tan seguro acerca de la parte SSL en este):

http://www.codeproject.com/KB/IP/imaplibrary.aspx

Además, está xemail, que tiene parámetros para SSL:

http://xemail-net.sourceforge.net/

[EDITAR] Si usted (o el cliente) tiene el dinero para un cliente de correo profesional, este hilo tiene algunas buenas recomendaciones:

Recomendaciones para un componente .NET para acceder a una bandeja de entrada de correo electrónico


MailSystem.NET contiene toda su necesidad de IMAP4. Es gratis y de código abierto.

(Estoy involucrado en el proyecto)