2017-11-08 3 views
0

Ich nehme eine Formel der Auswahl von Dashboard in Node-Red Ich möchte es per E-Mail an den Benutzer senden. Ich habe das Excel-Blatt aus der Formel erstellt. Dieses Excel-Blatt muss unter Verwendung der Benutzer-Mail-ID gesendet werden, die in der Formel, d. H. Msg.payload.E_mail, bereitgestellt wird.Node-Red Dashboard und E-Mail-Knoten

Ich versuchte mit der Funktion Knoten zum Senden von E-Mail als msg.to = msg.payload.E_mail aber fehlgeschlagen. In dem Funktionsknoten getippt ich folgende:

msg.to = "xxxxxxx"; 
msg.topic = "xxxxxxx"; 
msg.payload = "xxxxxxx"; 
msg.attachments = [{ filename: 'xxxxxxx.xlsx', 
        path: 'xxxxxxx', 
        content: msg.payload 
        }]; 
return msg; 

Dann habe ich versucht, den E-Mail-Knoten in Node-rot verwenden, aber es wird nur eine E-Mail an Empfänger geben: die statisch ist und von Benutzereingaben von Armaturenbrett nicht nehmen. Bitte könnte jemand alternative Methode vorschlagen.
Vielen Dank im Voraus

Below is the node-red flow the function block contains the the above code

+0

Was ist das Format von "msg.payload.E_mail"? "Msg.to" muss eine Zeichenfolge mit den gewünschten Empfängern sein, die durch "," getrennt sind. Beispiel: msg.to = "[email protected], [email protected]" ' –

+0

msg.payload.E_mail ist ein JSON-Format von Formular_anmeld im Dashboard, das von Benutzereingaben im Dashboard – KKumar

+0

eingegeben wurde diesen Knoten, Formular_anmeld, um einige Tests zu machen, können Sie einen Debug-Knoten hinzufügen erfassen alle Ausgabe vor dem Einstieg in "Setup Mail Inhalt" und fügen Sie die Daten zu der Frage? Auf diese Weise ist es einfach, eine Idee zu haben, wie die Daten so transformiert werden, dass der Mail-Knoten sie akzeptiert –

Antwort

0

die Lösung nach einer schlaflosen Nacht gefunden! Eigentlich ist der Code korrekt. Ich musste nur die E-Mail-Adresse aus Formular_anmeld als msg.payload extrahieren. Setzen Sie den Wert in Funktion Knoten von Setup Mail Inhalt

msg.to = msg.payload; 

Ich habe die msg.to im E-Mail-Knoten als leer gehalten. weil es den Wert vom Funktionsknoten und voila nimmt, funktioniert es