.Net POP3客户端

时间:2010-06-30 13:52:12

标签: .net pop3

.net有一个用于发送邮件的SMTP客户端 但没有用于阅读邮件的pop3客户端。 我之前使用过WEBDAV,但我真的想要一个稳定的简单的pop3或imap客户端

我知道似乎有10000个示例,但为什么没有官方.net客户端,如果他们创建了一个SMTP客户端

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

The F#.NET Journal文章 An e-mail client in F# (2010年3月31日)介绍了如何使用以下序列表达式为中心的几行F#代码编写自己的代码:< / p>

> 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>

答案 1 :(得分:3)

This是我使用的库。它非常容易使用,没有任何问题。