2010-06-30 6 views
2

.net a un client SMTP pour l'envoi de courrier mais pas de client pop3 pour la lecture du courrier. Ive utilisé WEBDAV avant, mais je veux vraiment un simple client pop3 ou imap des thats stableclient .Net POP3

Je sais qu'il semble y avoir 10000 d'exemples, mais pourquoi pas de client .net offical s'ils ont fait un client SMTP

tout pensées?

+1

Voir [Email Lecture avec Pop3 en C#] (http://stackoverflow.com/questions/44383/reading-email-using-pop3-in-c) –

Répondre

4

The F#.NET Journal article An e-mail client in F# (31ème Mars 2010) décrit comment vous pouvez écrire votre propre en seulement quelques lignes de code F #, centrée autour de l'expression de la séquence suivante:

> let receive = 
    seq { use client = new Sockets.TcpClient(Server.pop3.addr, Server.pop3.port) 
      use stream = client.GetStream() 
      use reader = new System.IO.StreamReader(stream) 
      let rec readToDot() = 
      let line = reader.ReadLine() 
      if line <> "." then line + "\n" + readToDot() else "" 
      reader.ReadLine() |> ignore 
      use writer = new System.IO.StreamWriter(stream) 
      let write (line: string) = 
      writer.Write(line + "\n") 
      writer.Flush() 
      write "USER myname" 
      reader.ReadLine() |> ignore // +OK Password required. 
      write "PASS mypassword" 
      reader.ReadLine() |> ignore // +OK logged in. 
      write "STAT" 
      let stat = reader.ReadLine() // +OK <message count> <total size> 
      for i in 1 .. int (stat.Split[|' '|]).[1] do 
      write(sprintf "RETR %d" i) 
      reader.ReadLine() |> ignore // +OK <message size> octets follow. 
      match readToDot() |> parse with 
      | Some msg -> yield msg 
      | None ->() 
      write "QUIT" 
      reader.ReadLine() |> ignore };; 
val receive : seq<msg> 
3

This est la bibliothèque je . C'était très facile à utiliser, je n'ai eu aucun problème avec ça.