Zum Inhalt springen
Linux, DevOps & Systeme

E-Mail Nachrichten mittels Node-RED versenden

E-Mails mit Node-RED senden und empfangen: node-red-node-email installieren, GMail-App-Passwort einrichten, Nachrichten per Function-Node bauen und parsen.

Von DI Herwart Wermescher, MBA ↗

Mit dem node-red-node-email Plugin kannst Du einerseits E-Mmails verschicken und andererseits wird Node-RED alle neuen E-Mails empfangen und diese in den Workflow einbringen. Somit kannst Du auch neue E-Mails parsen und weiterverarbeiten. Neben E-Mails kannst Du übrigens auch Telegram-Nachrichten mit Node-RED verschicken. Falls Du Node-RED noch nicht laufen hast, findest Du hier eine Anleitung, wie Du Node-RED installieren und aktualisieren kannst.

Zunächst benötigst Du gültige E-Mail-Anmeldedaten für Deinen E-Mail-Server. Für GMail kannst Du ein Anwendungskennwort generieren (wenn Du die Zwei-Faktor-Authentifizierung aktiviert hast). Die Möglichkeit des weniger sicheren Zugriffs auf Deinem Konto BITTE NICHT NUTZEN. (Funktioniert auch manchmalo nicht)

Nun installierst Du das Mail Plugin in Node-RED indem Du „Settings“ – „Manage palette“ anklickst und dann den Reiter „Install“ wählst. Dort suchst Du nach „node-red-node-email“ und installierst diese Contribution.

Die 3 neuen Nodes sind nun erreichbar und unter „social“ kategorisiert.

Verwende deine G-Mail Adresse und dein generiertes App-Passwort für die Credentials. Möchtest Du Mails stattdessen direkt vom Server aus verschicken, zeige ich Dir hier den GMail-Versand per postfix über die Linux-Kommandozeile. Wer Benachrichtigungen lieber per Messenger erhält, kann auch Signal-Nachrichten per Kommandozeile senden.

Senden

Zum Senden nimm einen Trigger-Node, einen Function-Node und einen Email-Node.

Im Function-Node kannst Du eine Nachricht über msg.payload und msg.topic Generieren und diese an den Send-Node weiterreichen.

msg = {
  payload: "Body der email"   + Date().toString(),
  topic: "Emergency!"
};

return msg;

Empfangen

Beim Empfangen stellt sich die Frage, was Du mit den Mails machen willst nachdem Node-RED sie gesehen hat.

Wenn Du Disposition auf None stellst, ladet die Node-RED jede Email ein weiteres mal sobald Du Deployst oder den Server neu startest. Wenn Du Disposition auf Mark Read oder Delete stellst, wird die Email als gelesen markiert oder gelöscht. Wenn Du jedoch auch selbst auf Deine E-Mails zugreifst, sind diese dann schon als gelesen markiert oder gelöscht.

Über diesen Blog

Ein Sammelsurium an Denkanstößen.

Hier sammle ich Wissen, Argumente und Links zu allem, was mich beschäftigt — von Technik über Küche bis Nachhaltigkeit. Beruflich berate ich zu Cybersecurity.