7

如何使用 .NET 以编程方式阅读传入的电子邮件。我需要一种方法来获取 POP 服务器上的电子邮件内容(在本例中为 XML)并将其读入我的应用程序。

理想情况下,这可以通过以下方式解决:

  • .NET 代码,我可以在我的网络服务器上作为后台任务运行以处理电子邮件。
  • 一种可以将电子邮件内容发布到我的网络服务器的服务。

虽然我对其他选择持开放态度。

编辑:从“未回答”复制:

目前,我们正在考虑使用我们的托管公司提供的电子邮件帐户。

我们自己的邮件服务器可能是一种选择,但我们需要联系主机。

4

5 回答 5

4

我们实际上只是实现了同样的事情。

我们处理电子邮件的内容并通过网络服务将数据推送到我们的 CRM。我们在 .net 3.5 中使用 c#

为了处理我们使用 IMap 的邮件。CodeProject 上有一些 .net 客户端库。我想我们用的是LumiSoft的那个。

我们尝试了 WebDav,但运气不佳。这给我们留下了 Pop3 或 IMap。IMap 支持我们需要的文件夹,所以我们就这么做了。如果您的服务器不支持 IMap,我相信用 POP3 做同样的事情会很容易。

基本上,我们每小时都会连接我们的 Exchange 服务器,并拉下任何新电子邮件并进行处理。到目前为止,它运作良好。

编辑:我们还使用SharpMimeTools将原始电子邮件转换为更可用的格式。

于 2009-01-15T22:16:12.883 回答
2

.Net有许多免费的 POP3 客户端实现。

例如:这个

于 2009-01-15T22:27:25.060 回答
1

有很多选择,如果你有一个服务总线供你使用,它主要带有一个 pop3 适配器。

或者您可以使用 pop3 api(来自 quiksoft 的 easymail 非常好)。它还具有处理弹跳的出色产品。

阅读所有 SMTP 消息。如果您拥有邮件服务器,则取决于服务器的类型,还有其他获取消息的方法,有时是自定义 API 和插件,或文件系统。您是否托管自己的邮件服务器?您使用哪个邮件服务器?

如果可能的话,我不会选择 POP 协议,它有一些限制,比如只有一个文件夹,“获取/读取”消息会从文件夹中删除消息(这意味着一个进程来读取消息)和其他东西. 根据您需要解析的邮件数量,它可能仍然对您有用。IMAP 已经是一种改进。

使用 quiksoft IMAP 组件:

//create a new IMAP4 object, connect 
//to a IMAP4 server and login 
IMAP4 imap = new IMAP4();
imap.Connect("mail.yourdomain.com");
imap.Login("mailbox", "password");

//select the inbox and download the envelopes
imap.SelectMailbox("Inbox");
EnvelopeCollection imapEnvelopes;
imapEnvelopes = imap.GetEnvelopes();

//loop through each message
//and output the subject
foreach (Envelope imapEnvelope in imapEnvelopes)
{
   //write the subject out to the console
   Console.WriteLine(imapEnvelope.Subject);
}

//close resources
imap.Logout();
于 2009-01-15T22:03:46.560 回答
0

爱思华宝的 Merak 电子邮件服务器非常适合这一点。它让我们设置了一种称为可执行帐户的特殊帐户。您将 .exe 与电子邮件地址相关联,然后在命令行上选择要发送的一堆内容。当电子邮件发送到该帐户时,它会触发可执行文件。.exe 必须是一个控制台应用程序,您必须注意它不会挂起等等,但我认为这是完美的解决方案。

我们使用它来处理来自谷歌分析的处理统计数据和来自其他邮件服务器的退回。

于 2009-01-15T22:27:49.957 回答
0

你总是可以自己动手做一个 POP 3 类 POP 是更简单的协议之一

于 2010-03-16T10:45:59.057 回答