Aspose.Email  для Node.js через .NET

API для обработки электронной почты Node.js

Создавайте, манипулируйте или конвертируйте форматы электронной почты, включая MSG, EML, EMLX и MHT, из приложений Node.js.

  
 

Aspose.Email для Node.js через .NET — это гибкий, но мощный API программирования электронной почты, который экономит время и усилия разработчиков для создания, манипулирования или конвертации общих форматов электронных сообщений, не беспокоясь о сложностях реализации основных форматов.

Как установить
Просто выполните npm install @aspose/email, чтобы получить последнюю версию и попробовать любой из следующих фрагментов кода.

Динамическое преобразование файлов сообщений

Aspose.Email для Node.js через .NET — это хороший выбор, если вы ищете API для взаимного преобразования файлов электронной почты. Он предоставляет удобные интерфейсы для процесса конвертации, скрывая все неприятные детали спецификации исходного формата. Все, что вам нужно сделать, это загрузить исходный файл в модель объектов 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 для Node.js через .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 = "Обсуждение следующего выпуска";

// сохранить как ICS
const options = new ae.Calendar.AppointmentIcsSaveOptions(); // использовать параметры по умолчанию ICS
app.save("AppointmentInICSFormat_out.ics", options);
     

Загрузка встречи

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

const loadedAppointment = ae.Calendar.Appointment.load("Appointment.ics");
// Отображение информации о встрече на экране
console.log("Итог: ", loadedAppointment.summary);
console.log("Место: ", loadedAppointment.location);
console.log("Описание: ", loadedAppointment.description);
console.log("Дата начала:", loadedAppointment.startDate);
console.log("Дата окончания:", loadedAppointment.endDate);
console.log("Организатор: ", loadedAppointment.organizer);
console.log("Участники: ", loadedAppointment.attendees);            
     

Создание и потребление встреч с помощью API iCalendar

Aspose.Email для Node.js через .NET предоставляет возможность генерировать и сохранять элементы календаря Outlook в форматах MSG и ICS. Вы можете не только создавать и сохранять объекты iCalendar, но и получать, обновлять, отправлять и отменять запросы на встречи. Более того, используя интуитивно понятную модель объектов, легко динамически создавать и потреблять шаблоны повторений в формате iCalendar RFC 2445.

Создание запроса на встречу. Подробности здесь

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

const appWhere = "место";
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);

// Сохранить встречу.
msg.save("appointment.msg");            
     

Создание и манипулирование файлами PST, OST и MBOX

Aspose.Email для Node.js через .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.displayName);
    console.log("Всего элементов: ", folder.contentCount);
    console.log("Всего непрочитанных элементов: ", folder.contentUnreadCount);
    console.log("----------------------");
    for(msg of folder.enumerateMessages()) {
        console.log("  ", msg.subject);
    }
}
     

В дополнение к файлам хранения Outlook, Aspose.Email для Node.js через .NET также поддерживает формат файлов Mbox. Вы можете использовать Aspose.Email для Node.js через .NET для загрузки существующих файлов Mbox и извлечения информации о сообщениях.

Извлечение сообщений из Mbox

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

const options = new ae.Storage.Mbox.MboxLoadOptions(); // используем параметры по умолчанию
const reader = new ae.Storage.Mbox.MboxrdStorageReader("Inbox.mbox", options);
let index = 0;
//  Чтение всех сообщений в цикле
for(eml of reader.enumerateMessages() ) {
    console.log("Тема: ", eml.subject);

    // сохранить сообщение в форматах EML и MSG
    eml.save(`${index}_output.eml`, ae.SaveOptions.defaultEml);
    eml.save(`${index}_output.msg`, ae.SaveOptions.defaultMsgUnicode);
    ++index;
}
      
  
  

Aspose.Email предлагает отдельные API электронной почты для других популярных сред разработки, перечисленных ниже: