使用 C# 從電子郵件中提取嵌入對象

電子郵件中嵌入物件簡介

電子郵件中的嵌入物件是指直接插入到電子郵件內容中而不是單獨附加的文件。這些物件允許寄件者在郵件正文中包含圖像、動畫或互動內容,從而豐富了電子郵件體驗。

.NET 的 Aspose.Email 入門

Aspose.Email for .NET 是一個功能強大的程式庫,提供了處理電子郵件的各種功能,包括解析、建立和操作電子郵件。首先,您需要在專案中安裝 Aspose.Email for .NET 程式庫。您可以從 Aspose. 發布 下載它:Aspose.Releases或使用 NuGet 等套件管理器。

載入和解析電子郵件

要從電子郵件中提取嵌入對象,您首先需要載入並解析電子郵件。您可以這樣做:

//導入必要的命名空間
using Aspose.Email;


//載入電子郵件訊息
var message = MailMessage.Load("path/to/your/email.eml");

識別並提取嵌入對象

載入電子郵件後,您可以迭代其 AlternateViews 以識別和提取嵌入的物件。 AlternateViews 代表電子郵件的不同格式,包括 HTML 和純文字。嵌入物件通常可以在 HTML 視圖中找到。

//迭代替代視圖
foreach (var view in message.AlternateViews)
{
    if (view.ContentType.MediaType == "text/html")
    {
        //從 HTML 內容中擷取嵌入對象
        foreach (var linkedResource in view.LinkedResources)
        {
            //提取並保存連結資源(嵌入物件)
            linkedResource.Save("path/to/save/" + linkedResource.ContentId);
        }
    }
}

儲存提取的對象

識別並提取嵌入的物件後,您可以將它們保存到所需的位置。連結資源的 ContentId 通常用作檔案名稱。

完整的原始碼

以下是使用 Aspose.Email for .NET 從電子郵件中提取嵌入物件的完整原始程式碼:

using Aspose.Email;


namespace EmbeddedObjectExtractor
{
    class Program
    {
        static void Main(string[] args)
        {
            //載入電子郵件訊息
            var message = MailMessage.Load("path/to/your/email.eml");

            //迭代替代視圖
            foreach (var view in message.AlternateViews)
            {
                if (view.ContentType.MediaType == "text/html")
                {
                    //從 HTML 內容中擷取嵌入對象
                    foreach (var linkedResource in view.LinkedResources)
                    {
                        //提取並保存連結資源(嵌入物件)
                        linkedResource.Save("path/to/save/" + linkedResource.ContentId);
                    }
                }
            }
        }
    }
}

結論

在本文中,我們探討如何使用 C# 和 Aspose.Email for .NET 程式庫從電子郵件中擷取嵌入物件。我們涵蓋了從載入和解析電子郵件到識別和保存嵌入物件的整個過程。透過遵循本指南,您可以增強電子郵件處理能力並豐富應用程式的內容。

常見問題解答

如何安裝 Aspose.Email for .NET?

您可以從 Aspose. 發布 下載來安裝 Aspose.Email for .NET:Aspose.Releases或使用 NuGet 等套件管理器。

我可以從 HTML 以外的附件中提取嵌入物件嗎?

是的,Aspose.Email for .NET 提供了從各種附件類型(包括 HTML、純文本,甚至多媒體格式)中提取嵌入物件的方法。

Aspose.Email for .NET 可以免費使用嗎?

Aspose.Email for .NET 是一個商業庫,您可能需要獲得許可證才能在專案中使用它。請參閱定價頁面了解更多。

我可以在儲存之前修改提取的嵌入物件嗎?

是的,您可以在保存提取的嵌入物件之前對其進行操作。 Aspose.Email 庫提供了多種修改電子郵件內容和資源的方法。

在哪裡可以找到更多使用 Aspose.Email for .NET 的範例?

您可以在以下位置找到更多程式碼範例和教程API參考.