.NET 是否有办法从 POP3 服务器中提取电子邮件,或者您必须编写/购买第 3 方组件?
Blankman
问问题
3514 次
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();
于 2009-12-01T15:51:23.940 回答
0
查看Quiksoft的 EasyMail 对象。它们非常易于使用,并且支持非常好。
于 2008-11-18T14:34:24.470 回答
0
我个人喜欢serverintellect 组件。
于 2008-11-18T14:55:29.063 回答