2016-09-21 50 views
-3

我想實現的目標是通過代碼從Gmail或Yahoo或任何其他服務器下載特定類型的郵件附件。是否有可能或有任何想法對此會有很大幫助通過編程在任何郵件服務器中下載郵件附件

+0

通過POP或IMAP連接,迭代郵件,檢查他們是否有附件。你試過了什麼,你的問題到底是什麼? – CodeCaster

+0

郵件服務器是網頁,您必須編寫自定義代碼來與每個網頁接口。 – jdweng

+0

通過郵件中附件的類名屬性我可以點擊附件,但它有兩個問題,一個是如果在IE中打開郵件,然後單擊彈出後打開顯示兩個選項保存和取消,我可以' t點擊代碼,因爲它是Microsoft的安全功能。另一個問題是,我只想下載特定類型的郵件,然後單擊類名稱將下載每個附件。 – pk8382

回答

0

嘗試類似下面的代碼:

using(Pop3 pop3 = new Pop3()) 
{ 
    pop3.Connect("server"); 
    pop3.UseBestLogin("user", "password"); 
    foreach (string uid in pop3.GetAll()) 
    { 
     IMail email = new MailBuilder() 
     .CreateFromEml(pop3.GetMessageByUID(uid)); 
     Console.WriteLine(email.Subject); 
     // save all attachments to disk 
     email.Attachments.ForEach(mime => mime.Save(mime.SafeFileName)); 
    } 
    pop3.Close(); 
} 

來源:

1)https://www.limilabs.com/blog/download-email-attachments-net

2)http://www.codeproject.com/Articles/188349/Read-Gmail-Inbox-Message-in-ASP-NET

希望這將幫助你。

謝謝

0

您需要爲此使用IMAP。您需要先閱讀郵件的MIME。然後你可以很容易地下載附件,如果它存在。

在POP中,沒有關於郵件是否具有附件的規定。在POP中,您需要在本地下載完整的郵件,然後解析郵件的MIME。

在C#中有一些類可以解密/解析郵件的MIME結構,並且可以方便地訪問郵件的各個部分。

How to download attachment from gmail in C# using IMAP?