处理收到的邮件

时间:2009-01-15 21:44:33

标签: .net email imap pop3

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

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

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

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

编辑:从“非答案”复制:

  

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

     

我们自己的邮件服务器可能   是一个选择,但它的东西   我们需要联系主持人。

5 个答案:

答案 0 :(得分:4)

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

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

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

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

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

修改:我们还使用SharpMimeTools将原始电子邮件转换为更实用的格式。

答案 1 :(得分:2)

答案 2 :(得分:1)

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

或者你可以使用pop3 api(来自quiksoft的easymail非常好)。 它还有很好的处理反弹的产品。

阅读所有SMTP邮件。如果您拥有邮件服务器,则根据服务器的类型,还有其他方式来获取邮件,有时是自定义Apis和插件,或文件系统。你是否托管自己的邮件服务器? 你使用哪个邮件服务器?

如果可能的话,我不会选择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();

答案 3 :(得分:0)

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

我们使用它来处理来自Google Analytics的处理统计信息以及从其他邮件服务器退回。

答案 4 :(得分:0)

你可以随时DIY A POP 3 Class POP是更简单的协议之一