Как прочитать тело письма через JavaScript

1 минута чтения

Если контент не отображается, включите VPN.

package.json

Установите два пакета imap-simple и mailparser. Первый необходим для доступа к почтовому ящику посредством IMAP, другой нужен для чтения самого письма.

{
  "dependencies": {
    "imap-simple": "5.1.0",
    "mailparser": "3.3.0"
  }
}

Для примера возьмем IMAP от Яндекс.

server.js

const imaps = require('imap-simple');
const simpleParser = require('mailparser').simpleParser;

var config = {
    imap: {
        user: 'my@email.domain',
        password: 'mypassword',
        host: 'imap.yandex.ru',
        port: 993,
        tls: true,
        authTimeout: 3000
    }
};

imaps.connect(config).then(function (connection) {
    return connection.openBox('INBOX').then(function () {
        const searchCriteria = ['ALL'];
        const fetchOptions = {
            bodies: ['HEADER', 'TEXT'],
            markSeen: false
        };
        return connection.search(searchCriteria, fetchOptions).then(function (messages) {
            messages.forEach(function (item) {
                const idHeader = "Imap-Id: " + item.attributes.uid + "\r\n";
                simpleParser(idHeader, (err, mail) => {
                    console.log(mail)
                });
            });

        });
    });
});

Приглашаю к общению в комментариях!

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая статья

GridFS Storage на Mongodb

Следующая статья

Используем предиктовку с YanPredictor