彩票走势图

在邮件控件 Aspose.Email 中创建 MIME 邮件消息

翻译|行业资讯|编辑:胡涛|2023-06-27 10:52:46.460|阅读 42 次

概述:在本文中,我们将探讨如何使用 Java 创建 HTML 正文中包含图像的EML文件。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.Email 是用于轻松的开发 email 功能的应用程序的一组控件,基于  ASP.NET 的Web应用、Web服务和Windows 应用。支持 Outlook PST, EML, MSG, and MHT 格式. 允许开发者直接与 SMTP, POP, FTP, 和 MS Exchange 服务器进行工作。支持邮件合并、行事历、定制邮件标题和内容、嵌入文件等

Aspose.Email for java 最新下载

发送电子邮件时,您可能需要包含图像、音频或视频等多媒体内容,以使您的邮件更具吸引力和效果。为了实现这一目标,我们的博客文章提供了一些有关创建 MIME(多用途互联网邮件扩展)消息的简单说明。

我们将探讨如何使用 Java 创建 HTML 正文中包含图像的EML文件。同时将详细介绍该过程中涉及的步骤,并为您提供示例代码以帮助您入门。因此,无论您是 Java 开发人员还是有兴趣学习使用图像创建 EML 文件的人,这篇文章都适合您!

下载用于创建 MIME 消息的 Java API

要在 Java 中以编程方式创建 MIME 消息,您需要在项目中安装Aspose.Email for Java 。该库对于 Java 开发人来说很重要的工具,提供了广泛的处理电子邮件的功能。它允许开发人员轻松操作 MIME 消息的不同方面,例如附件、正文、标头、编码等。借助 Aspose.Email for Java,开发人员可以轻松创建和自定义 MIME 消息,提供简单高效的方式来发送丰富的多媒体电子邮件。

从头开始创建 EML 文件

安装了 Aspose.Email for Java,现在从头开始创建您的第一个EML文件了。最简单的方法之一是使用库提供的。MailMessage 类允许您创建具有各种属性和方法的电子邮件对象,使您能够设置发件人、收件人、主题、正文、附件、标题等详细信息。通过 MailMessage 类,您可以轻松自定义电子邮件以满足您的需求,并创建具有专业外观的 EML 文件,以便随时发送给收件人。

以下步骤和代码片段将帮助您从头开始创建 EML:

以下步骤和代码片段将帮助您从头开始创建 EML:

  • 使用默认构造函数创建一个新的
  • 根据需要设置 MailMessage 对象的属性。
  • 方法将 MailMessage 对象保存到 EML 文件。
// Create a new MailMessage object
MailMessage eml = new MailMessage();
// Set the sender address
eml.setFrom(new MailAddress("sender@domain.com"));
// Add a recipient address
eml.setTo(MailAddressCollection.to_MailAddressCollection(new MailAddress("recipient@domain.com")));
// Set subject
eml.setSubject("New message");
// Set the HTML body
eml.setHtmlBody("<!DOCTYPE html>\n"
+ " <html>\n"
+ " <head>\n"
+ " <style>\n"
+ " h3{font-family:Verdana, sans-serif;color:#000000;background-color:#ffffff;}\n"
+ " p {font-family:Verdana, sans-serif;font-size:14px;font-style:normal;\n"
+ " font-weight:normal;color:#000000;background-color:#ffffff;}\n"
+ " </style>\n"
+ " </head>\n"
+ " <body>\n"
+ " <h3>New message</h3>\n"
+ " <p>This is a new message created by Aspose.Email.</p>\n"
+ " </body>\n"
+ " </html>");

// Save the MailMessage object to an EML file
eml.save("message_with_image.eml", SaveOptions.getDefaultEml());

类的 save 方法有两个参数:文件路径和保存选项保存选项指定输出文件的格式。

将图像添加到 HTML 内容

为了将图像添加到电子邮件的 HTML 正文中,您需要使用“img”标签嵌入图像。这允许您将图像直接插入邮件的 HTML 代码中,以便收件人打开电子邮件时显示该图像。

以下代码片段展示了如何将图像添加到邮件的 HTML 正文中。

  • HTML 正文包含一个图像标记,其源属性设置为cid:image1。
  • AlternateView类用于获取包含嵌入图像的消息正文的备用视图
  • LinkedResource类用于表示嵌入图像,其内容 ID 设置为image1。
  • 最后,备用视图被添加到消息备用视图集合中。
// Create a new instance of MailMessage class
MailMessage eml = new MailMessage();
// Set sender and recipient
eml.setFrom(new MailAddress("sender@domain.com"));
eml.setTo(MailAddressCollection.to_MailAddressCollection(new MailAddress("recipient@domain.com")));
// Set subject and body
eml.setSubject("New message with image");
eml.setHtmlBody("<!DOCTYPE html>\n"
+ " <html>\n"
+ " <head>\n"
+ " <style>\n"
+ " h3{font-family:Verdana, sans-serif;color:#000000;background-color:#ffffff;}\n"
+ " p {font-family:Verdana, sans-serif;font-size:14px;font-style:normal;\n"
+ " font-weight:normal;color:#000000;background-color:#ffffff;}\n"
+ " </style>\n"
+ " </head>\n"
+ " <body>\n"
+ " <h3>New message</h3>\n"
+ " <p>This is a new message created by Aspose.Email.</p>\n"
+ " <img src='cid:myImage' />\n"
+ " </body>\n"
+ " </html>");

AlternateView alternateView = eml.getAlternateViews().get_Item(0);
LinkedResource imageResource = new LinkedResource(path + "image.png", MediaTypeNames.Image.PNG);
imageResource.setContentId("image1");
alternateView.getLinkedResources().addItem(imageResource);

eml.save("message_with_image.eml", SaveOptions.getDefaultEml());
从 HTML 文件创建 EML 文件

一种方法是从 HTML 文件开始并将其转换为 EML。如果您想将 HTML 作为电子邮件发送,。为此,我们首先需要有 HTML 内容。我们称这个文件为content.html。以下是一个例子:

<!DOCTYPE html>
<html>
<head>
<title>My Email</title>
</head>
<body>
<h1>Hello,</h1>
<img src="logo.png" alt="Logo">
<p>This is my first email created form HTML.</p>
</body>
</html>


另外,您必须提前准备好所有包含 HTML 的图像,并在 HTML 文件中指定它们的正确路径。

现在,我们可以通过设置 HTML 正文来轻松创建 MailMessage content.html。

  • 首先,创建一个新的对象。
  • 中图像路径的字符串。
  • 如果 EML 应包含纯文本的 AlternateView,请将属性设置为 true。
  • 通过加载 HTML 文件并将对象作为参数传递来创建
  • 设置附加消息属性。
  • 方法将 MailMessage 对象保存到 EML 文件中。
HtmlLoadOptions htmlloadOptions = new HtmlLoadOptions();
htmlloadOptions.setPathToResources(path);
htmlloadOptions.shouldAddPlainTextView(true);

var eml = MailMessage.load(path + "content.html", htmlloadOptions);
// Set sender and recipient
eml.setFrom(new MailAddress("sender@domain.com"));
eml.setTo(MailAddressCollection.to_MailAddressCollection(new MailAddress("recipient@domain.com")));
// Set subject
eml.setSubject("New message from HTML");

// Save the message in EML format
eml.save("message_from_html.eml", SaveOptions.getDefaultEml());
改进 Outlook 中 HTML 消息的视图的提示

要在 Outlook 中查看 HTML 消息,您需要确保其代码与 Outlook 渲染引擎兼容,这与大多数 Web 浏览器不同。可能影响 Outlook 中的 HTML 电子邮件的一些常见问题包括:

  • Outlook 不支持其某些标签和 CSS 属性,例如背景图像、浮动、边距、填充等。您可能需要使用内联样式、表格或条件注释来实现所需的布局和格式。
  • Outlook 可能会在元素之间添加额外的空格或线条,或者完全删除某些元素。您可能需要使用不间断空格、零宽度空格或空表格单元格来防止出现这种情况。
  • Outlook 可能会更改 HTML 文件的编码或字符集,这可能会导致某些字符显示不正确。您可能需要使用元标记指定其中的编码和字符集。

在这篇博文中,您学习了如何使用 Aspose.Email 在 Java 中以编程方式创建 MIME 消息。分步教程和代码示例展示了如何从头开始和从 HTML 文件创建 eml 文件,将图像添加到电子邮件的 HTML 内容中,并通过有关如何改进视图的有用提示来支持上述所有内容。 Outlook 中的 HTML 邮件。如您还有其他相关问题,欢迎咨询我们获取帮助或加入我们官方交流群。


欢迎下载|体验更多Aspose文档管理产品 
获取更多信息请咨询 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP