2009-01-15 10 views
7

Comment lire un e-mail entrant avec .NET par programmation? J'ai besoin d'une méthode pour prendre le contenu du message électronique (dans ce cas XML) sur un serveur POP et le lire dans mon application.Traitement du courrier électronique entrant

Idéalement cela pourrait être résolu par:

  • code .NET que je peux courir en tant que tâche de fond sur mon serveur web pour traiter l'e-mail.
  • Un service qui peut poster le contenu de l'e-mail à mon serveur Web.

Bien que je suis ouvert à d'autres options.

EDIT: Copié de la "non-réponse":

Actuellement, nous cherchons à utiliser les comptes de messagerie notre société d'hébergement offre.

Notre propre serveur de messagerie pourrait potentiellement être une option, mais c'est quelque chose que nous aurions besoin de contacter l'hôte à propos de .

+0

Questions similaires: * http://stackoverflow.com/questions/86553/working-with-pop-imap-email-and-net * http://stackoverflow.com/questions/126068/how-would-you-implement-database-updates-via-email * http://stackoverflow.com/questions/44383/reading-email-using-pop3-in- c –

+0

Essayez OpenPop.NET: https://www.nuget.org/packages/OpenPop.NET/ – razon

Répondre

4

Nous avons en fait juste mis en œuvre le même genre de chose.

Nous traitons le contenu des e-mails et transmettons les données à notre CRM via un service Web. Nous utilisons C# avec .net 3.5

Pour traiter le courrier, nous sommes allés avec IMap. Il existe quelques bibliothèques client .net sur CodeProject. Je pense que nous avons utilisé celui de LumiSoft.

Nous avons essayé WebDav mais n'avons pas eu beaucoup de chance. Cela nous a laissé avec Pop3 ou IMap. IMap prend en charge les dossiers, dont nous avions besoin, alors nous sommes allés avec ça. Je suis sûr qu'il serait facile de faire la même chose avec POP3 si votre serveur ne supporte pas IMap. Fondamentalement, nous connectons notre serveur Exchange toutes les heures et décrochage tout nouveau courrier électronique et les traiter. Jusqu'à présent, cela fonctionne bien.

Modifier: Nous utilisons également SharpMimeTools pour obtenir les e-mails bruts dans un format plus utilisable.

1

Il existe plusieurs options, dans le cas où vous avez un bus de service à votre disposition, il est principalement livré avec un adaptateur pop3.

Ou vous pouvez utiliser une API pop3 (easymail de quiksoft est assez bon). Il a également un excellent produit pour le traitement des rebonds.

Pour lire tous les messages SMTP. Si vous possédez le serveur de mails, en fonction du type de serveur il y a d'autres moyens d'accéder aux messages, parfois des Apis et des plugins personnalisés, ou encore le système de fichiers. Hébergez-vous votre propre serveur de messagerie? Quel serveur de courrier utilisez-vous?

Si possible je ne choisirais pas pour le protocole POP, il a quelques limitations parmi d'autres choses comme avoir seulement un dossier, "lire/lire" un message supprime le message du dossier (un processus pour lire les messages) et d'autres choses. En fonction du nombre de mails que vous devez analyser, cela peut toujours fonctionner pour vous. IMAP serait déjà une amélioration.

Avec le composant IMAP Quiksoft:

//create a new IMAP4 object, connect 
//to a IMAP4 server and login 
IMAP4 imap = new IMAP4(); 
imap.Connect("mail.yourdomain.com"); 
imap.Login("mailbox", "password"); 

//select the inbox and download the envelopes 
imap.SelectMailbox("Inbox"); 
EnvelopeCollection imapEnvelopes; 
imapEnvelopes = imap.GetEnvelopes(); 

//loop through each message 
//and output the subject 
foreach (Envelope imapEnvelope in imapEnvelopes) 
{ 
    //write the subject out to the console 
    Console.WriteLine(imapEnvelope.Subject); 
} 

//close resources 
imap.Logout(); 
0

Le serveur de courriel Merak d'IceWarp était parfait pour cela. Cela nous a permis de configurer un type de compte spécial appelé un compte exécutable. Vous associez un .exe à l'adresse e-mail et choisissez un tas de choses à envoyer sur la ligne de commande. Lorsqu'un email est envoyé à ce compte, il déclenche l'exécutable. Le .exe doit être une application de console et vous devez veiller à ce qu'il ne se bloque pas et quoi que ce soit, mais je pensais que c'était la solution parfaite. Nous l'utilisons pour gérer les statistiques de traitement de google analytics et les rebonds d'autres serveurs de messagerie.

+0

+1 pour le serveur mail Merak, c'est un très bon produit. La façon dont il permet un plugin dll est également idéal pour le traitement des rebonds. –

0

vous pouvez toujours DIY A POP 3 Class POP est l'un des protocoles plus simples

Questions connexes