Работа с почтой в Node.js. Примеры и возможности КриптоАРМ Сервер
Интеграция электронной почты — одна из важных функций для серверных приложений, будь то отправка уведомлений, получение сообщений или автоматизация рассылки файлов. Если вы разрабатываете серверные приложения на платформе Node.js и вам требуется безопасная работа с почтовыми протоколами IMAP и SMTP, КриптоАРМ Сервер предлагает удобное решение — модуль trusted-mailcore2.
В этой статье мы рассмотрим основные возможности модуля trusted-mailcore2, его уникальные преимущества и продемонстрируем примеры кода, которые помогут вам быстро внедрить его в ваш проект.
Основные возможности trusted-mailcore2
Модуль trusted-mailcore2 создан для решения всех ключевых задач работы с почтой в Node.js. Он построен на основе opensource библиотеки MailCore2, но с важными доработками в части безопасности — нами добавлена поддержка российских криптографических алгоритмов.
Расширения безопасности:
- Криптографическая защита писем: Поддержка подписания и шифрования через модуль trusted-crypto, который обеспечивает защиту ГОСТ алгоритмами.
- Надёжные TLS соединения: Благодаря интеграции с cpcurl от КриптоПро обеспечена поддержка ГОСТ TLS для безопасных соединений с почтовыми серверами.
- Работа с сертифицированным криптопровайдером КриптоПро CSP.
Эти улучшения делают trusted-mailcore2 хорошим решением для проектов, требующих высокого уровня безопасности в работе с электронной почтой.
Примеры использования модуля
trusted-mailcore2 поддерживает все основные почтовые протоколы, что делает его универсальным инструментом для работы с почтовыми серверами. Вы можете работать с IMAP, SMTP и POP3 в зависимости от потребностей вашего проекта. Классы по работе с письмом (MessageBuilder, MessageHeader, MessageParser) и вложениями (Attachment) позволяют реализовать любые задачи по формированию и чтению писем, например рассылку файлов по адресатам в автоматическом режиме.
Рассмотрим примеры кода для некоторых задач.
1. Отправка электронных писем (SMTP)
С помощью trusted-mailcore2 можно легко отправлять письма через протокол SMTP. Доступны отправка писем с вложениями, использование разных форматов (текстовый или HTML) и настройка параметров отправки.
//Создаем объект сессии и зададим параметры подключения
const session = new SMTPAsyncSession();
session.hostname = "smtp-mail.outlook.com";
session.port = 587;
session.username = "test@hotmail.com";
session.password = "testpassword";
session.authType = AuthType.AuthTypeSASLLogin;
session.connectionType = ConnectionType.ConnectionTypeStartTLS;
//Создаем сообщение. Указываем заголовки и формируем тело
const createMessage = (): Buffer => {
const testHeader = new MessageHeader();
testHeader.from = "test@hotmail.com";
testHeader.to = ["test1@hotmail.com", "test2@hotmail.com"];
testHeader.subject = "Testing SMTP send ";
const builder = new MessageBuilder();
builder.header = testHeader;
builder.htmlBody = "<div>Test message for send by SMTP.</div>";
builder.textBody = "Test message for send by SMTP.\n-----\n";
return builder.data;
};
const message = createMessage();
//Вызываем метод отправки со сформированным сообщением
session.sendMessageOperation(
testConnection.EMAIL,
[testConnection.MAIL_RECIPIENT],
message
).then((result) => {
try {
done();
} catch (e) {
done(e);
}
}).catch((e) => {
done(e);
});
2. Работа с протоколом IMAP (письма и папки)
trusted-mailcore2 поддерживает работу с протоколом IMAP, что позволяет получать письма с сервера, управлять папками, помечать письма прочитанными и удалять их. В примере вызовем некоторые из доступных методов.
const session = new IMAPSession();
session.hostname = "test.outlook.com";
session.port = 993;
session.username = "test@hotmail.com";
session.password = "test";
session.connectionType = ConnectionType.ConnectionTypeStartTLS;
session.checkCertificateEnabled = true;
//Получим все подписанные папки
const folders = session.fetchSubscribedFolders();
//Получим и выведем статус папки INBOX
const folderStatus = session.folderStatus("INBOX");
console.log(folderStatus.unseenCount);
console.log(folderStatus.messageCount);
console.log(folderStatus.recentCount);
console.log(folderStatus.uidNext);
console.log(folderStatus.uidValidity);
console.log(folderStatus.highestModSeqValue);
//Получим сообщения
const messages = sessionLogined.fetchMessagesByUID("INBOX");
//Скопируем сообщение из одной в папки в другую по его UID
const result = sessionLogined.copyMessages("INBOX", "PERSONAL", 1, 100);
Преимущества использования trusted-mailcore2
Высокий уровень безопасности:
- Поддержка SSL/TLS обеспечивает защиту данных при взаимодействии с почтовыми серверами.
- Поддержка российских криптографических стандартов: важным преимуществом является поддержка ГОСТ для S/MIME, что позволяет подтвердить авторство письма и сохранить конфиденциальность переписки.
Работа в Node.js:
Модуль создан специально для экосистемы Node.js, что позволяет легко интегрировать его в существующую архитектуру без написания сложного кода.
Как начать работать с trusted-mailcore2
Чтобы начать использование trusted-mailcore2 в вашем проекте на Node.js, достаточно установить модуль через npm или скачать с сервера и следовать инструкциям в документации. Если вам нужна помощь с настройкой или интеграцией, наша команда готова оказать поддержку, обращайтесь по адресу sales@cryptoarm.ru.
Заключение
КриптоАРМ Сервер и trusted-mailcore2 — это безопасное решение для работы с электронной почтой на платформе Node.js. Благодаря расширенной безопасности, поддержке почтовых протоколов и лёгкости интеграции этот модуль становится незаменимым инструментом для серверных приложений, работающих с электронной почтой.
Попробуйте trusted-mailcore2 и убедитесь в его преимуществах сами. Мы уверены, что этот инструмент упростит разработку и повысит надёжность вашего проекта.
Если у вас остались вопросы или нужна помощь в автоматизации работы с почтой, свяжитесь с нами по электронной почте sales@cryptoarm.ru.