#javascript #node.js #automated-tests #imap
#javascript #node.js #автоматизированные тесты #imap
Вопрос:
Я нашел, как фильтровать по времени и теме, но для почтового объекта нет атрибута типа «отправитель». Приведенный ниже код:
getMail(mail, pwd, IMAPhost, time, subject, resultHTML) {
var config = {
imap: {
...
}
};
imaps.connect(config).then(async function (connection) {
await connection.openBox('INBOX');
var searchCriteria = ['UNSEEN'];
var fetchOptions = {
bodies: ['HEADER', 'TEXT', ''],
};
const messages = await connection.search(searchCriteria, fetchOptions);
messages.forEach(function (item) {
var all = _.find(item.parts, { "which": "" });
var id = item.attributes.uid;
var idHeader = "Imap-Id: " id "rn";
simpleParser(idHeader all.body, (err, mail) => {
if (mail.subject === subject amp;amp; time > mail.date) {
console.log('Время письма ' mail.date);
return resultHTML(mail.html);
}
});
});
});
}
Ниже часть моего вывода all.body (без текущей информации):
Received: from .qloud-c.yandex.net (.qloud-c.yandex.net)
by .qloud-c.yandex.net with LMTP
for <mymail@yandex.ru>; Mon, 18 Jan 2021 18:35:01 0300
Received: from server info (server info [])
by .qloud-c.yandex.net (mxfront/Yandex) with ESMTPS id ;
Return-Path: sender@mail.ru
From: =?UTF-8?= <sender@mail.ru>
To: mymail@yandex.ru
Комментарии:
1. Вам нужна опция извлечения конверта. Это даст вам массивы адресов: от, отправитель, кому и т.д.
2. Не могли бы вы привести пример, как это сделать правильно, пожалуйста? Я предпринял много попыток, но все они потерпели неудачу.
3. Боюсь, что нет. Я не писал javascript как минимум год, поэтому написание рабочего примера кода заняло бы у меня несколько часов, а у меня нет свободных часов. Извините.
4. Хорошо, спасибо! Нет проблем. Я попробую еще раз.