Question

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

Idéalement, cela pourrait être résolu en:

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

Bien que je sois ouvert à d’autres options.

EDIT: copié à partir de la "non-réponse":

  

Actuellement, nous envisageons d'utiliser le   comptes de messagerie notre société d'hébergement   fournit.

     

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

Était-ce utile?

La solution

Nous venons de mettre en œuvre le même genre de chose.

Nous traitons le contenu des messages électroniques et transmettons les données à notre système de gestion de la relation client via un service Web. Nous utilisons c # avec .net 3.5

Pour traiter le courrier, nous sommes allés avec IMap. Il y a quelques bibliothèques clientes .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, ce dont nous avions besoin. Nous y sommes donc allés. Je suis sûr que ce serait facile de faire la même chose avec POP3 si votre serveur ne supporte pas IMap.

En gros, nous connectons notre serveur Exchange toutes les heures, récupérons tous les nouveaux messages et les traitons. Jusqu'à présent, cela fonctionne bien.

Modifier: Nous utilisons également SharpMimeTools pour obtenir les courriers électroniques bruts de manière plus utilisable. format.

Autres conseils

Il existe de nombreuses options, au cas où vous auriez un bus de service à votre disposition, il est généralement fourni avec un adaptateur pop3.

Vous pouvez également utiliser une API Pop3 (Easymail de Quksoft est plutôt bon). Il propose également un excellent produit pour le traitement des rebonds.

Pour lire tous les messages SMTP. Si vous possédez le serveur de courrier électronique, en fonction du type de serveur, il existe d'autres moyens d'obtenir des messages, parfois des Apis personnalisés et des plugins, ou le système de fichiers. Vous hébergez votre propre serveur de messagerie? Quel serveur de messagerie utilisez-vous?

Si possible, je ne choisirais pas le protocole POP, il présente certaines limitations, notamment le fait de n'avoir qu'un seul dossier, "obtenir / lire", un message supprime le message du dossier (ce qui signifie un processus pour lire les messages) et d'autres choses. En fonction du nombre de courriers 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();

Le serveur de messagerie Merak d’IceWarp était idéal pour cela. Cela nous a permis de créer un type de compte spécial appelé compte exécutable. Vous associez un fichier .exe à l'adresse e-mail et choisissez un tas d'éléments à envoyer sur la ligne de commande. Lorsqu'un e-mail est envoyé à ce compte, il exécute l'exécutable. Le fichier .exe doit être une application console et vous devez veiller à ce qu'il ne se bloque pas, mais ce que je ne pense pas, 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 provenant d'autres serveurs de messagerie.

Vous pouvez toujours bricoler A Classe POP 3 POP est l’un des protocoles les plus simples

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top