Recomendaciones para una .NET componente para tener acceso a un buzón de correo electrónico [cerrado]

StackOverflow https://stackoverflow.com/questions/18006

  •  09-06-2019
  •  | 
  •  

Pregunta

Me han pedido que escriba un servicio de Windows en C# para monitorear periódicamente un correo electrónico de la bandeja de entrada e insertar los detalles de los mensajes recibidos en una tabla de base de datos.

Mi instinto es hacerlo a través de POP3 y, por supuesto, buscar en Google para ".NET POP3 componente" produce innumerables (ok, 146,000) resultados.

Nadie ha hecho nada parecido antes y pueden recomendar un decente componente que no rompa el banco (un par de cientos de dólares como máximo)?

¿Hay beneficios para el uso de IMAP en lugar de POP3?

¿Fue útil?

Solución

Recomiendo chilkat.Tienen bastante estable componentes, y usted puede conseguir su correo electrónico componente para tan barato como $99 por un único desarrollador.Personalmente, creo que va con todo el paquete de componentes es un mejor trato, ya que es sólo de $289, y viene con muchos componentes útiles.No estoy afiliado con ellos en cualquier forma, aunque yo probablemente suene como soy.

Otros consejos

Con el protocolo IMAP se puede tener acceso a sub carpetas, y el mensaje de estado (visto/no visto), también se puede utilizar INACTIVO característica de notificaciones al instante.

Mail.dll incluye POP3, IMAP, SMTP componentes con SSL apoyo y potente analizador de MIME:

using(Imap imap = new Imap())
{
    imap.Connect("imap.server.com");    // or ConnectSSL for SSL
    imap.Login("user", "password");

    imap.SelectInbox();
    List<long> uids = imap.Search(Flag.Unseen);
    foreach (long uid in uids)
    {
        IMail mail = new MailBuilder()
            .CreateFromEml(imap.GetMessageByUID(uid));
        Console.WriteLine(mail.Subject);
    }
    imap.Close();
}

Por favor, tenga en cuenta que este es el producto comercial que he creado.

Se puede descargar en https://www.limilabs.com/mail

Yo uso libre y de código abierto SharpMimeTools en mi aplicación, BugTracker.NET.Ha sido muy fiable:

http://anmar.eu.org/projects/sharpmimetools/

Ver los archivos POP3Client.cs, POP3Main.cs, y insert_bug.aspx

Yo recomendaría AdvancedIntellect.Hay componentes para POP3 e IMAP (ASPNetPOP3 y ASPNetIMAP).Buena calidad y muy sensible - me acuerdo de recibir respuestas a mis preguntas en un fin de semana.

Es posible que desee comprobar nuestros Rebex componente de Correo.Incluye IMAP, SMTP, POP3 protocolos y y S/MIME analizador.

El POP3 no tiene un concepto de 'no leído' los mensajes o se busca mensajes que coinciden con los criterios específicos. POP3 simplemente devuelve todos los mensajes en su bandeja de entrada.

El uso de IMAP se puede indicar al servidor IMAP para enviar sólo mensajes no leídos, los mensajes que llegaron desde tiempo especificado, los mensajes de usuario específico, etc.Usted no tiene que descargar todo para el cliente y hacer el filtrado allí.

Código siguiente se muestra cómo descargar los mensajes no leídos desde la Imap servidor de uso Rebex.Net.Imap clase.

// create client, connect and log in 
Imap client = new Imap();
client.Connect("imap.example.org");
client.Login("username", "password");

// select folder 
client.SelectFolder("Inbox");

// get message list - envelope headers 
ImapMessageCollection messages = client.Search
  (
     ImapSearchParameter.HasFlagsNoneOf(ImapMessageFlags.Seen)
  ); 

// display info about each message 
Console.WriteLine("UID | From | To | Subject");
foreach (ImapMessageInfo message in messages)
{
    Console.WriteLine(
        "{0} | {1} | {2} | {3}",
        message.UniqueId,
        message.From,
        message.To,
        message.Subject);
}

// disconnect 
client.Disconnect();

Ejemplo de la combinación de múltiples criterios de búsqueda de la siguiente manera.Esto mostrará los mensajes de el año pasado de más de 100 KB.

ImapMessageCollection messages = client.Search
  (
     ImapSearchParameter.Arrived(DateTime.Now.AddYears(-1), DateTime.Now),
     ImapSearchParameter.Size(1024 * 100, Int32.MaxValue)
  ); 

Puede descargar la versión de prueba de rebex.net/secure-mail.net/download.aspx

Si utiliza una fuente abierta de POP3 aplicación o algo libremente disponible, entonces usted tendrá acceso a modificar el código y expandirla en la dirección necesaria.Una rápida en Google y resultó en este C# POP3 código de Proyecto de Código para recuperar los mensajes.

Hay algo sobre el empoderamiento de rodar su propio, o al menos de la ampliación.

alt text

Lumisoft es de código abierto y se incluye clientes IMAP y POP (entre otras cosas).He estado usando durante años sin problemas.

Cómo acerca de WCF?Es gratis.

Si usted tiene un servidor de Exchange:http://msdn.microsoft.com/en-us/library/bb397812.aspx

un ejemplo para pop3:http://bartdesmet.net/blogs/bart/archive/2006/09/13/4417.aspx

C#Mail costo $0, pero también es GNU GPL la licencia, así que asegúrese de que está bien.

Usted puede hacer esto utilizando MailBee.NET Objetos: http://www.afterlogic.com/products/net-email-components

Mientras yo recomiendo usar IMAP en efecto, en particular, ya que se ofrece de INACTIVIDAD de apoyo que se mencionan aquí, usted ya podría hacer lo mismo con POP3.Hay una breve descripción de ambos enfoques, y una muestra completa para IMAP IDLE escenario:

http://www.afterlogic.com/wiki/Getting_notifications_about_new_messages_in_mailbox_%28IMAP_IDLE_and_polling%29

Por favor, tenga en cuenta que estoy afiliado con AfterLogic, y voy a estar encantados de ayudarle si usted necesita cualquier ayuda, consulte Solicitud de opción de Soporte en nuestro sitio web.

IMAPX2 es la mejor.Mediante IMAP se puede controlar las carpetas en un servidor de correo, una cosa que usted no sería capaz de hacer uso de POP.IMAPX es de código abierto, de código usted puede mirar en, y es de uso gratuito.

IMAPX es sencillo y fiable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top