EMail Versand und msg

Begonnen von Sidey, 07 Oktober 2019, 16:14:21

Vorheriges Thema - Nächstes Thema

Sidey

Hi,

vermutlich trivial, aber ich habe bislang nichts gefunden und wollte mich der Themaik mal wieder annehmen.

Ich möchte über den msg Befehl gerne eine E-Mail Versenden. Prinzipiell funktioniert das auch.
Allerdings habe ich noch nicht herausgefunden, wie ich mehrere Email Adressen in msgRecipientMail in einer bestimmten Definition angeben kann, so dass dann auch an diese eine E-mail versendet wird.

Konkret habe ich ein DOIF aus dem eine E-Mail an bestimmte Empfänger gesendet werden soll. Also habe ich versucht in msgRecipientMail und msgContactMail mehrere Adressen anzugeben. Das wird allerdings nicht ausgewertet, wenn ich es in diesem doif setze.
Was mir jetzt einfach nicht so recht transparent ist, wäre wie msgRecipientMail in einer anderen Definiton als msgConfig funktioniert.



Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

rob

Hallo Sidey.

Ich sende Mails via dieser Anleitung https://wiki.fhem.de/wiki/E-Mail_senden. Läuft via sendemail. Dort heißt es
Zitatoder (mehr als einen Empfänger, diese können durch Leerzeichen, Semikolon oder Komma getrennt sein)

define Sonstiges at *01:00:00 {\
DebianMail('email@email.domain,email2@email.domain',"Subject","Text","'Anhang1' 'Anhang2' ...");;\
}
Vielleicht einen alternativen Blick wert  :D


Bei msg widerum wird ja laut Doku /usr/bin/mail aufgerufen und ein ...
get globalMsg routeCmd mail
ergibt ...

MAIL: DEFAULT COMMANDS
-------------------------------------------------------------------------------

  fhemMsgMail
    Priority Normal:
      { my $d='%DEVICE%'; my $title='%TITLE%'; my $msg='%MSG%'; system("echo '$msg' | /usr/bin/mail -s '$title' '$d'"); }
      Default Values:
        TITLE = System Message
    Priority High:
      { my $d='%DEVICE%'; my $title='%TITLE%'; my $msg='%MSG%'; system("echo '$msg' | /usr/bin/mail -s '$title' '$d'"); }
      Default Values:
        TITLE = System Message
    Priority Low:
      { my $d='%DEVICE%'; my $title='%TITLE%'; my $msg='%MSG%'; system("echo '$msg' | /usr/bin/mail -s '$title' '$d'"); }
      Default Values:
        TITLE = System Message


Und zu mail heißt es (https://www.binarytides.com/linux-mail-command-examples/):
Zitat
5. Sending to multiple recipients

It is also possible to specify multiple recipients by joining them with a comma.

$ mail -s "Hello World" [email protected],[email protected]

Demnach müsste '$d' mit einer Komma-separierten Liste von EMail-Adressen gefüttert werden. Ich kanns nur leiden nicht gegenchecken, weil bei mir nur sendemail wg. tls sauber läuft (hab mich mit /usr/bin/mail nicht weiter befasst).

Hilft Dir das ein wenig weiter?

Viele Grüße
rob

Sidey

Hi,

vorweg, ich habe herausgefunden wie es geht.
Vermutlich habe ich mich in meinem Post aber auch nicht klar ausgedrückt.


Mit meiner eigentlichen Problemstellung hat es nichts zu tun, aber ich verwende die Funktion debian Mail für den Mailversand:

MAIL: USER DEFINED COMMANDS WITH PRECEDENCE
-------------------------------------------------------------------------------

  globalMsg (DEVICE TYPE: msgConfig)
    Priority Normal:
      {DebianMail('%DEVICE%','%TITLE%','%MSG%')}
    Priority High:
      {DebianMail('%DEVICE%','%TITLE%','%MSG%')}
    Priority Low:
      {DebianMail('%DEVICE%','%TITLE%','%MSG%')}


Ich hatte in einem DOIF msgRecipientMail und msgContactMail gesetzt. Wusste aber nicht, wie ich beim Versenden einer E-Mail die Attribute verwende.

msg mail <@DOIF_NAME> <Nachricht>

Durch Try und error habe ich herausgefunden, dass man das Gerät, indem die Attribute angegeben werden im msg Kommando angeben muss. So klappt dann der Mailversand an individuelle Empfänger.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker