2010-06-30 3 views
2

.net имеет SMTP-клиент для отправки почты , но нет клиента pop3 для чтения почты. Ive использовали Webdav раньше, но я действительно хочу простой pop3 или IMAP клиент тот стабильный.Net POP3 клиент

Я знаю, что, как представляется, 10000 примеров, но почему не не OFFICAL .net клиента, если они сделали SMTP-клиент

любой мысли?

+1

См. [Чтение электронной почты с использованием Pop3 в C#] (http://stackoverflow.com/questions/44383/reading-email-using-pop3-in-c) –

ответ

4

The F#.NET Journal статья An e-mail client in F# (31 марта 2010) описывает, как вы можете написать свой собственный всего несколько строк F # код, вокруг следующего выражения последовательности:

> 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 это библиотека Я , Он был очень прост в использовании, не имел никаких проблем с ним.

Смежные вопросы