117 votes

Accès Imap en c#

Y a-t-il une méthode intégrée pour accéder à un serveur Imap (avec SSL) en c# ou est-il une bonne bibliothèque libre ?

90voto

DMan Points 2437

J'ai été à la recherche d'une IMAP solution pour un certain temps maintenant, et après avoir essayé un certain nombre, je vais avec AE.Net.Mail.

Vous pouvez télécharger le code en allant dans l'onglet "Code" et cliquez sur le petit "Télécharger" icône. Comme l'auteur ne fournit pas de pré-construit des téléchargements, vous devez le compiler vous-même. (Je crois que vous pouvez l'obtenir par le biais de NuGet). Il n'est plus .dll dans le bin/ dossier.

Il n'y a pas de documentation, que je considère comme un inconvénient, mais j'ai été capable de fouet cette en regardant le code source (yay pour l'open source!) et à l'aide de la fonctionnalité Intellisense. Le code ci-dessous se connecte spécifiquement pour Gmail serveur IMAP:

// 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", "name@gmail.com", "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();

Assurez-vous de caisse de l' Github page pour la version la plus récente et certains des meilleurs exemples de code.

35voto

user1662990 Points 69

Dans l'espoir qu'il sera utile à certains, vous voudrez peut-être vérifier mon go à elle:

S22.Imap

Bien qu'il existe un couple de bons et bien documenté IMAP bibliothèques .NET disponible, aucun d'entre eux sont gratuits pour usage personnel, sans parler de l'utilisation commerciale et... J'étais juste pas du tout satisfait de la plupart abandonnés les alternatives libres Je l'ai trouvé.

S22.Imap supporte IMAP IDLE notifications ainsi que SSL et partielle de message le chargement. J'ai mis un peu d'effort dans la production de la documentation et de garder jusqu'à ce jour, parce qu'avec les projets que j'ai trouvé, la documentation est souvent éparse ou inexistants.

N'hésitez pas à donner un essai et laissez-moi savoir si vous rencontrez des problèmes!

20voto

Pawel Lesnikowski Points 3634

Il n’y a aucune prise en charge de .NET framework pour IMAP. Vous aurez besoin d’utiliser un composant quelconque 3e partie.

Essayez http://www.lesnikowski.com/mail/, c’est très abordable et facile à utiliser, il prend également en charge de SSL :

Veuillez noter qu’il s’agit d’un produit commercial, que j’ai créé.

Vous pouvez le télécharger ici : http://www.limilabs.com/mail.

5voto

PACCBET Points 19

Essayez d’utiliser la bibliothèque : https://imapx.codeplex.com/

Cette bibliothèque libre, open source et ont exemple à ceci : https://imapx.codeplex.com/wikipage?title=Sample%20code%20for%20get%20messages%20from%20your%20inbox

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X