PPTX DOCX XLSX PDF ODP
Aspose.Email  适用于 .NET
MSG

在 C# 中为 MSG 文件添加水印

使用 Aspose.Email for .NET 为 MSG 文件加水印。使用给出的代码示例,为您的邮件应用添加卓越功能。

使用 C# Email API 为 MSG 文件加水印

为 MSG 文件添加水印是开发邮件管理应用程序的实用功能。通过嵌入可见标记(如图像或文字),您可以实现以下目的:

  • 通过加入公司标志来保持品牌一致性。
  • 保护邮件内容完整性,防止未经授权的使用。
  • 通过可见的免责声明或版权声明确保符合法律要求。

Aspose.Email for .NET 为开发者提供以编程方式为 MSG 文件添加水印的能力。功能丰富的 API 简化了将图像或文字水印集成到邮件内容中的过程。主要特性包括:

  • 将水印直接嵌入邮件正文,而不修改原始内容。
  • 支持可自定义的水印选项,如位置、透明度和大小。
  • 实现批处理以高效处理多个 MSG 文件。

此功能非常适合在 .NET 应用程序中对单个邮件或大规模邮件工作流进行水印集成自动化。

通过 C# 为 MSG 添加水印的步骤

Aspose.Email 为您提供了精确简洁的步骤以及操作 MIME 消息的主要组件参考。以下代码描述了将水印集成到邮件内容中的过程。

  1. 首先将现有的 MSG 文件加载到一个 MailMessage 对象。
  2. 将水印图像添加为附件并分配唯一的 Content-ID。
  3. 通过解析 HTML 正文、嵌入水印并更新内容来修改邮件的 HTML 正文。
  4. 保存 嵌入水印后的已修改邮件文件。

系统要求

Aspose.Email for .NET 在所有主流操作系统上均受支持。只需确保您具备以下前提条件。

  • Microsoft Windows 或兼容的操作系统,具备 .NET Framework、.NET Core 和 Xamarin 平台。
  • 开发环境,例如 Microsoft Visual Studio。
  • 在您的项目中引用 Aspose.Email for .NET。
 

为 MSG 添加水印 - C#

// Load an MSG file
var mail = MailMessage.Load("sample.msg");

// Add a watermark attachment with image data
var watermarkAttachment = mail.Attachments.Add("watermark", imageBytes);

// Set Content-ID for the watermark to reference it in the HTML
watermarkAttachment.SetContentId("watermark");

// Parse the email's existing HTML body
var htmlDocument = new Aspose.Html.HTMLDocument(mail.BodyHtml, "");

// Define the new watermark HTML (ensure watermarkHtml includes a reference to the Content-ID)
var watermarkHtml = $@"watermarkHtml";

// Update the document body with the watermark HTML
htmlDocument.Body.InnerHTML = watermarkHtml;

// Save the updated HTML to a temporary file
var tempFilePath = Path.GetTempFileName();
htmlDocument.Save(tempFilePath);

// Read the updated HTML content
var updatedContent = File.ReadAllText(tempFilePath);

// Clean up the temporary file
File.Delete(tempFilePath);

// Set the modified HTML content as the email body
mail.SetBodyContent(updatedContent, BodyContentType.Html);

mail.Save("watermarked.msg");
 

在 C# 中从 MSG 文件中删除水印

在需要将邮件内容恢复到原始状态的场景中,删除已嵌入水印的功能非常实用。Aspose.Email for .NET 通过高效的 API 简化了此任务。

 

从 MSG 文件中删除水印 - C#

// Load the HTML body of the email
    var htmlDocument = new Aspose.Html.HTMLDocument(mail.BodyHtml, "");

    // Find and remove the watermark <img> element based on the Content-ID
    var watermarkElement = htmlDocument.QuerySelector("img[src^='cid:watermark']");
    if (watermarkElement != null)
    {
        watermarkElement.Remove();
    }

    // Optional: Clean up any surrounding containers added specifically for the watermark
    var watermarkContainer = htmlDocument.QuerySelector("div[data-watermark]");
    if (watermarkContainer != null)
    {
        // Replace the watermark container with its inner content to preserve other elements
        watermarkContainer.ReplaceWith(watermarkContainer.InnerHTML);
    }

    // Save the updated HTML back to the email
    var updatedHtml = htmlDocument.DocumentElement.InnerHTML;
    mail.SetBodyContent(updatedHtml, BodyContentType.Html);

    // Remove the watermark attachment if it exists
    var watermarkAttachment = mail.Attachments.FirstOrDefault(a => a.ContentId == "watermark");
    if (watermarkAttachment != null)
    {
        mail.Attachments.Remove(watermarkAttachment);
    }
 

因此,Aspose.Email 允许您操作邮件的 HTML 正文,识别并删除水印元素,定位并删除通过 Content-ID 与水印关联的附件(如图像),并最终移除水印过程中新添加的 HTML 容器或结构,同时保持其他邮件内容的完整性。

这些功能使开发者能够以编程方式清理邮件内容,同时完全掌控邮件的结构和元素。

  • 关于 Aspose.Email for .NET

    Aspose.Email for .NET 是一个旨在处理 .NET 应用程序中复杂邮件操作的库。它使开发者能够以编程方式管理 MSG、EML、EMLX 和 MHT 等邮件格式,并提供解析、编辑和保存消息内容的高级功能。该 API 支持直接与 SMTP、IMAP、POP3 和 Exchange 等网络协议交互,实现无缝的邮件发送和获取。其附件处理能力涵盖在消息中添加、修改和提取文件,以及管理 MIME 内容。此外,Aspose.Email 集成了 HTML 解析,用于定制邮件正文并支持多种编码类型以确保兼容性。通过将这些工具以独立包的形式提供,库摆脱了对外部软件的依赖,帮助开发者构建可扩展、高性能且满足特定需求的邮件解决方案。

    Watermark MSG via Online App

    其他支持的水印格式

    可以轻松使用 C# 为其他格式添加水印。

    EML (Outlook 邮件)