.NET是否有办法从开箱即用的POP3服务器中提取电子邮件,或者您必须编码/购买第三方组件?
答案 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)
CodeProject得到了一个很好的C#教程 http://www.codeproject.com/KB/IP/despop3client.aspx 还可以看看:
http://www.developerfusion.com/article/4071/how-to-pop3-in-c/
答案 4 :(得分:0)
答案 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();