连接到POP3服务器

时间:2008-11-18 14:30:45

标签: .net pop3

.NET是否有办法从开箱即用的POP3服务器中提取电子邮件,或者您必须编码/购买第三方组件?

6 个答案:

答案 0 :(得分:2)

您可以查看Mail.dll .NET mail component,它具有SSL支持,unicode和多国电子邮件支持:

using(Pop3 pop3 = new Pop3())
{
    pop3.Connect("mail.host.com");      // Connect to server
    pop3.Login("user", "password");

    foreach(string uid in pop3.GetAll())
    {
        IMail email = new MailBuilder()
            .CreateFromEml(pop3.GetMessageByUID(uid));
          Console.WriteLine( email.Subject );
    }
    pop3.Close(false);      
}

您可以在此处下载:http://www.limilabs.com/mail

答案 1 :(得分:1)

第三方组件是走的路;比替代方案好得多,后者将使用NetStreams [shudder]发送原始POP3命令

答案 2 :(得分:0)

Quiksoft查看EasyMail对象。它们非常易于使用,支持非常好。

答案 3 :(得分:0)

答案 4 :(得分:0)

我个人喜欢serverintellect components

答案 5 :(得分:0)

.NET框架不支持POP3。

与POP3服务器的连接是一项简单的工作。该协议非常简单。该 问题是正确解析消息。你需要一个像样的MIME或S / MIME解析器,它可以处理unicode,vierd格式的附件,Outlook生成的非标准WinMail.dat中的消息体,国际化问题。一个解析器,它可以修复常见的邮件客户端错误和RFC违规等.Trere是相当多的第三方POP3库。还有一些免费POP3 libraries on codeproject

您可以尝试我们的Rebex POP3 for .NET

// create client, connect and log in  
Pop3 client = new Pop3();
client.Connect("pop3.example.org");
client.Login("username", "password");

// get message list - full headers  
Pop3MessageCollection messages = client.GetMessageList(Pop3ListFields.FullHeaders);

// display info about each message  
Console.WriteLine("UID | From | To | Subject");
foreach (Pop3MessageInfo message in messages)
{
    Console.WriteLine
    (
        "{0} | {1} | {2} | {3}",
        message.UniqueId,
        message.From,
        message.To,
        message.Subject
    );
}

client.Disconnect();

代码取自www.rebex.net/secure-mail.net/tutorial-pop3.aspx