Aspose.Email  适用于 Node.js via .NET

Node.js 电子邮件处理 API

在 Node.js 应用中创建、操作或转换电子邮件格式,包括 MSG、EML、EMLX 和 MHT。

  
 

Aspose.Email for Node.js via .NET 是一个灵活且强大的电子邮件编程 API,能够为开发者节省时间和精力,创建、操作或转换常见电子邮件消息格式,而无需担心底层格式实现的复杂性。

如何安装
直接执行 npm install @aspose/email 获取最新版本并尝试以下代码片段。

动态转换消息文件

如果您正在寻找用于互相转换电子邮件文件的 API,Aspose.Email for Node.js via .NET 是一个不错的选择。它提供了易于使用的接口来完成转换过程,同时隐藏了底层格式规范的所有繁琐细节。您只需在 Aspose.Email 对象模型中加载源文件,并使用适当的参数调用 Save 方法。真的就这么简单!

将 MSG 转换为各种格式

const ae = require('@aspose/email');

const msg= new ae.MailMessage.load(\"msgtemplate.msg\");

// 将 MSG 转换为 EML、HTML 和 MHTML 格式 msg.save(\"emloutput.eml\", SaveOptions.defaultEml); msg.save(\"htmloutput.html\", SaveOptions.defaultHtml); msg.save(\"mhtoutput.mhtml\", SaveOptions.defaultMhtml) 

对约会 ICS 格式的广泛支持

Aspose.Email for Node.js via .NET 可用于创建预约并将其保存为 ICS 格式。Node.js 邮件库还允许从 ICS 文件加载预约,读取或写入预约事件,创建预约草稿并设置预约参与者的状态。

创建并保存预约

const ae = require('@aspose/email');

const attendees = new ae.MailAddressCollection(); attendees.add(new ae.MailAddress(\"person1@domain.com\")); attendees.add(new ae.MailAddress(\"person2@domain.com\")); attendees.add(new ae.MailAddress(\"person3@domain.com\"));

// 创建 const app = new ae.Calendar.Appointment(\"Room 112\", new Date(2006, 6, 17, 13, 0, 0), new Date(2006, 6, 17, 14, 0, 0), new ae.MailAddress(\"somebody@domain.com\"), attendees);

app.summary = \"发布会议\"; app.description = \"讨论下一个发布版本\";

// save as ICS const options = new ae.Calendar.AppointmentIcsSaveOptions(); // use default ICS options app.save(\"AppointmentInICSFormat_out.ics\", options); 

加载约会

const ae = require('@aspose/email');

const loadedAppointment = ae.Calendar.Appointment.load(\"Appointment.ics\"); // Display the appointment information on screen console.log(\"Summary: \", loadedAppointment.summary); console.log(\"Location: \", loadedAppointment.location); console.log(\"Description: \", loadedAppointment.description); console.log(\"Start date::\", loadedAppointment.startDate); console.log(\"End date:\", loadedAppointment.endDate); console.log(\"Organizer: \", loadedAppointment.organizer); console.log(\"Attendees: \", loadedAppointment.attendees); 

使用 iCalendar API 生成 & 消费会议

Aspose.Email for Node.js via .NET 提供生成 & 保存 Outlook 日历项目(MSG 和 ICS 格式)的功能。您不仅可以创建和保存 iCalendar 对象,还可以检索、更新、发送 & 取消会议请求。此外,使用直观的对象模型,可轻松动态生成和消费 iCalendar RFC 2445 格式的循环模式。

创建约会请求。查看详情 这里

const ae = require('@aspose/email');

const appWhere = \"location\"; const appWhen = new Date(2023, 8, 17, 13, 0, 0); const sender = new ae.MailAddress(\"from@domain.com\"); const recipient = new ae.MailAddress(\"to@domain.com\"); const attendees = new ae.MailAddressCollection(); attendees.add(recipient);

const app = new ae.Calendar.Appointment(appWhere, appWhen, appWhen, sender, attendees);

const message = new ae.MailMessage(sender, recipient); message.addAlternateView(app.requestApointment()); const msg = ae.Mapi.MapiMessage.fromMailMessage(message);

// Save the appointment. msg.save(\"appointment.msg\"); 

创建或操作 PST、OST & MBOX 文件

Aspose.Email for Node.js via .NET 允许您管理 Outlook 存储文件,如 PST & OST。您可以对现有存储文件执行多种操作,也可以从头创建新的 PST 文件。可能的操作包括文件夹列出、消息列出、消息提取以及以 MSG 格式的联系人。

读取 PST


const ae = require('@aspose/email');

const pst = ae.Storage.Pst.PersonalStorage.fromFile(\"outlook.pst\"); const rootFolders = pst.rootFolder.getSubFolders();

for( folder of rootFolders) { console.log(\"Folder: \", folder.displayName); console.log(\"Total Items: \", folder.contentCount); console.log(\"Total Unread Items: \", folder.contentUnreadCount); console.log(\"----------------------\"); for(msg of folder.enumerateMessages()) { console.log(\" \", msg.subject); } } 

除了 Outlook 存储文件,Aspose.Email for Node.js via .NET 也支持 Mbox 文件格式。您可以使用 Aspose.Email for Node.js via .NET 加载现有的 Mbox 文件并提取消息信息。

Extract messages from Mbox

var ae = require('@aspose/email');

const options = new ae.Storage.Mbox.MboxLoadOptions(); // using default options const reader = new ae.Storage.Mbox.MboxrdStorageReader(\"Inbox.mbox\", options); let index = 0; // Read all messages in a loop for(eml of reader.enumerateMessages() ) { console.log(\"Subject: \", eml.subject);

    // save message in EML & MSG format
    eml.save(`${index}_output.eml`, ae.SaveOptions.defaultEml);
    eml.save(`${index}_output.msg`, ae.SaveOptions.defaultMsgUnicode);
    ++index;
}