电子邮件附着物的自动处理
我想写(在C#中最有可能)的应用程序,在特定的帐户检查电子邮件,探测附加文件,并将其分离为处理一个文件夹。电子邮件附着物的自动处理
是否有标准的.NET类来执行这些任务?如果不是,我还能使用什么?
该应用程序将作为服务运行。
虽然没有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中还有一个模板。
我也发现OpenPop,看起来很相似。 MS很遗憾忽略了接收解决方案。 –
我的回答没有帮助吗? – user9993
应该在桌面上运行?与客户(展望等)?或在服务器上?哪个服务器(交换等)? –
@SimonMourier:实际上它可以兼得。 Outlook客户端或某个服务器(我现在没有信息)。 Outlook客户端的回答已经很有帮助。 –
您可以使用C#中的Outlook的Application.NewMailEx事件(如在VBA中:https://msdn.microsoft.com/en-us/library/office/aa171304.aspx)。根据您的配置(安全性,邮件帐户类型等),实施细节可能会有很大差异。 –