电子邮件附着物的自动处理

问题描述:

我想写(在C#中最有可能)的应用程序,在特定的帐户检查电子邮件,探测附加文件,并将其分离为处理一个文件夹。电子邮件附着物的自动处理

是否有标准的.NET类来执行这些任务?如果不是,我还能使用什么?

该应用程序将作为服务运行。

+0

应该在桌面上运行?与客户(展望等)?或在服务器上?哪个服务器(交换等)? –

+0

@SimonMourier:实际上它可以兼得。 Outlook客户端或某个服务器(我现在没有信息)。 Outlook客户端的回答已经很有帮助。 –

+0

您可以使用C#中的Outlook的Application.NewMailEx事件(如在VBA中:https://msdn.microsoft.com/en-us/library/office/aa171304.aspx)。根据您的配置(安全性,邮件帐户类型等),实施细节可能会有很大差异。 –

虽然没有API的BCL中下载电子邮件,只发送,有一个很好的认为,现在是微软推荐的库发送和接收电子邮件,支持POP3,IMAP,SMTP。 https://github.com/jstedfast/MailKit

检测所连接的文件,并将它们分离到一个文件夹进行处理

我会假设你的意思文件下载到一个目录。幸运的是MailKit这是很容易做到的,和库的作者在这里写了一个例子:https://*.com/a/36229918/2595033

(从链接采取代码)

foreach (var attachment in message.Attachments) { 
    using (var stream = File.Create ("fileName")) { 
     if (attachment is MessagePart) { 
      var part = (MessagePart) attachment; 

      part.Message.WriteTo (stream); 
     } else { 
      var part = (MimePart) attachment; 

      part.ContentObject.DecodeTo (stream); 
     } 
    } 
} 

应用程序将作为服务运行。

这也很容易做到,你需要编写一个Windows服务。有很多关于在C#中编写一个资源的资源。在Visual Studio中还有一个模板。

enter image description here

+0

我也发现OpenPop,看起来很相似。 MS很遗憾忽略了接收解决方案。 –

+0

我的回答没有帮助吗? – user9993