Что добавить в msg.criteria для получения писем в узле электронной почты Node-RED? - PullRequest
1 голос
/ 09 февраля 2020

У меня два потока, использующих узел node-red-node-email в Node-RED.

Первый использует предопределенное значение для извлечения всех электронных писем ( Критерии : Все ). Он работает должным образом и получает два электронных письма, которые у меня есть в папке «Входящие»:

flow 1

Второй должен эмулировать то же самое, но через указание msg.criteria:

Я создал поток с узлом change, устанавливающим значение.

Информационная страница для модуля электронной почты ссылается на страницу do c для другого модуля и не дает четкого примера, но я предположил, что я должен добавить строковое значение [ ALL ]. Вот соответствующая часть модуля change:

"rules": [
    {
        "t": "set",
        "p": "criteria",
        "pt": "msg",
        "to": "[ 'ALL' ]",
        "tot": "str"
    }

В результате узел электронной почты изменится на connecting, затем на fetching и останется в этом состоянии. Веб-сервер Node-RED некоторое время не отвечает.

flow 2

Я также попытался указать msg.criteria в качестве объекта JSON следующим образом (в результате я получаю "Invalid 'to' JSON property" в отладке):

"rules": [
    {
        "t": "set",
        "p": "criteria",
        "pt": "msg",
        "to": "[ 'ALL' ]",
        "tot": "json"
    }
],

или следующим образом (в результате у меня вообще нет ответа; почтовый узел даже не переходит go в connecting состояние ):

"rules": [
    {
        "t": "set",
        "p": "criteria",
        "pt": "msg",
        "to": "{ [ 'ALL' ] }",
        "tot": "json"
    }
],

Каким должен быть тип msg.criteria и какие данные он должен содержать для получения всех электронных писем (и, соответственно, других критериев)?

1 Ответ

1 голос
/ 15 февраля 2020

Как я уже упоминал во втором комментарии, это, скорее всего, связано с тем, как вы настроили узел изменений с массивом JSON.

Следующая конфигурация узла изменений работает, как и ожидалось.

enter image description here

Обратите внимание, что ALL заключено в двойные, а не одинарные кавычки. Это важно, поскольку узел Change выдает ошибку, когда установлены одинарные кавычки, и фактически не добавляет поле к объекту msg.

...