2

.NET 是否有办法从 POP3 服务器中提取电子邮件,或者您必须编写/购买第 3 方组件?

4

5 回答 5

2

您可以查看Mail.dll .NET 邮件组件,它具有 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.limlabs.com/mail 。

于 2009-03-21T18:12:11.497 回答
1

3rd 方组件是必经之路;比使用 NetStreams 发送原始 POP3 命令的替代方法要好得多 [颤抖]

于 2008-11-18T14:37:47.710 回答
0

.NET 框架不支持 POP3。

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

你可以试试我们的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

于 2009-12-01T15:51:23.940 回答
0

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

于 2008-11-18T14:34:24.470 回答
0

我个人喜欢serverintellect 组件

于 2008-11-18T14:55:29.063 回答