自动处理电子邮件附件

时间:2017-05-29 13:49:13

标签: .net windows email attachment

我想编写一个应用程序(很可能是在C#中),它检查特定帐户的电子邮件,检测附加文件并将它们分离到文件夹进行处理。

是否有标准的.NET类来执行这些任务?如果没有,我还可以使用其他什么?

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

1 个答案:

答案 0 :(得分:1)

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

  

检测附加文件并将其分离到文件夹进行处理

我打算假设您的意思是将文件下载到目录中。幸运的是,使用MailKit这很容易做到,图书馆的作者在这里写了一个例子:https://stackoverflow.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