Работа с почтой в Node.js. Примеры и возможности КриптоАРМ Server

Александр Гаврилов · 04 ноя 2024 · 176 · Поделиться

Работа с почтой в Node.js. Примеры и возможности КриптоАРМ Server

Интеграция электронной почты — одна из важных функций для серверных приложений, будь то отправка уведомлений, получение сообщений или автоматизация рассылки файлов. Если вы разрабатываете серверные приложения на платформе Node.js и вам требуется безопасная работа с почтовыми протоколами IMAP и SMTP, КриптоАРМ  Server предлагает удобное решение — модуль 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 = () => {
    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 = "
Test message for send by SMTP.
"
; builder.textBody = "Test message for send by SMTP.\n-----\n"; return builder.data; }; const message = createMessage(); //Вызываем метод отправки со сформированным сообщением session.sendMessageOperation( session.username, [session.recipients], 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);

//Получим сообщения
const messages = session.fetchMessagesByUID("INBOX");
                            

Преимущества использования trusted-mailcore2

  • Высокий уровень безопасности: Поддержка SSL/TLS обеспечивает защиту данных при взаимодействии с почтовыми серверами.
  • Поддержка российских криптографических стандартов: Важным преимуществом является поддержка ГОСТ для S/MIME, что позволяет подтвердить авторство письма и сохранить конфиденциальность переписки.
  • Работа в Node.js: Модуль создан специально для экосистемы Node.js, что позволяет легко интегрировать его в существующую архитектуру без написания сложного кода.

Как начать работать с trusted-mailcore2

Чтобы начать использование trusted-mailcore2 в вашем проекте на Node.js, достаточно установить модуль через npm или скачать с сервера  и следовать инструкциям в документации. Если вам нужна помощь с настройкой или интеграцией, наша команда готова оказать поддержку, обращайтесь по адресу support@cryptoarm.ru.

Заключение

КриптоАРМ Server и trusted-mailcore2 — это безопасное решение для работы с электронной почтой на платформе Node.js. Благодаря расширенной безопасности, поддержке почтовых протоколов и лёгкости интеграции этот модуль становится незаменимым инструментом для серверных приложений, работающих с электронной почтой.

Попробуйте trusted-mailcore2 и убедитесь в его преимуществах сами. Мы уверены, что этот инструмент упростит разработку и повысит надёжность вашего проекта.

Если у вас остались вопросы или нужна помощь в автоматизации работы с почтой, свяжитесь с нами по электронной почте support@cryptoarm.ru.

Вернуться к списку новостей

Подпишитесь и получайте новые статьи по почте

Заполните поле Подписаться

Подписываясь, вы соглашаетесь на получение информационных сообщений от компании
ООО «Цифровые технологии» на условиях Политики конфиденциальности

Спасибо, что подписались
на нашу рассылку!

Узнавайте новости первыми —
подпишитесь на нашу новостную рассылку

Заполните поле
Подписаться

Подписываясь, вы соглашаетесь на получение информационных сообщений от компании
ООО «Цифровые технологии» на условиях Политики конфиденциальности

Спасибо, что подписались
на нашу рассылку!