我想寫(在C#中最有可能)的應用程序,在特定的帳戶檢查電子郵件,探測附加文件,並將其分離爲處理一個文件夾。電子郵件附着物的自動處理
是否有標準的.NET類來執行這些任務?如果不是,我還能使用什麼?
該應用程序將作爲服務運行。
我想寫(在C#中最有可能)的應用程序,在特定的帳戶檢查電子郵件,探測附加文件,並將其分離爲處理一個文件夾。電子郵件附着物的自動處理
是否有標準的.NET類來執行這些任務?如果不是,我還能使用什麼?
該應用程序將作爲服務運行。
雖然沒有API的BCL中下載電子郵件,只發送,有一個很好的認爲,現在是微軟推薦的庫發送和接收電子郵件,支持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中還有一個模板。
我也發現OpenPop,看起來很相似。 MS很遺憾忽略了接收解決方案。 –
我的回答沒有幫助嗎? – user9993
應該在桌面上運行?與客戶(展望等)?或在服務器上?哪個服務器(交換等)? –
@SimonMourier:實際上它可以兼得。 Outlook客戶端或某個服務器(我現在沒有信息)。 Outlook客戶端的回答已經很有幫助。 –
您可以使用C#中的Outlook的Application.NewMailEx事件(如在VBA中:https://msdn.microsoft.com/en-us/library/office/aa171304.aspx)。根據您的配置(安全性,郵件帳戶類型等),實施細節可能會有很大差異。 –