neues modul mailcheck

Begonnen von justme1968, 02 August 2013, 19:08:55

Vorheriges Thema - Nächstes Thema

betateilchen

Ich werde mal ein bisschen experimentieren. Crypt::SMIME sieht schon recht vielversprechend aus, wenn es nur um eine Gültigkeitsprüfung geht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

lach.

ich hab grad gpg fast fertig. war ja klar das du s/mime willst...

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

natürlich, ich dachte, das sei klar :) Qualifizierte elektronische Signaturen (alles andere ist erfahrungsgemäß sowieso Käse) sind nunmal leider immer SMIME.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

das ist ein punkt über den man trefflich streiten kann und es gibt mehr als einen grund gpg zu verwenden und nicht s/mime. nicht zuletzt weil man die tatsächliche oder auch nur angebliche sicherheit sehr viel genauer unter kontrolle hat. das die signatur qualifiziert ist macht sie nicht besser. aber diese diskussion wäre nicht nur technisch (welches format verwende ich) sondern auch philosophisch (wem vertraue ich zur signierung der schlüssel/zertifikats erstellung) begründet. im übrigen gibt es keinen grund das (bessere :) pgp/mime format nicht auch mit einer signatur die die voraussetzungen für eine qualifizierte elektronische signatur erfüllt zu nutzen. umgekehrt würe es technisch prinzipiell kein problem gpg so zu verwenden das es den richtlinien für qualifizierte signaturen entsprechen würde. aber ich schweife ab :)

ich schick dir nachher oder morgen mal die gpg version. s/mime kann ich nicht testen weil ich keine zertifikat habe.

vielleicht magst du die s/mime variante ja entsprechend einbauen. dann geht beides.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

ich sag mal so: Mit einer qualifizierten Signatur aus einem von der Bundesnetzagentur gelisteten Trustcenter komme ich im Geschäftsleben einfach weiter als mit gpg. Deshalb nutze ich schon sehr lange diese Signaturart :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

sogar das kommt auf den bereich an in dem du beschäftigt bist :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

so...

anbei eine erste version die gpg signaturen prüfen kann.

- Mail::GnuPG und MIME::Parser müssen installiert sein
- fhem muss das entsprechende gpg binary im pfad haben
- je nach gpg version muss eventuell die regex um die keyid zu parsen in zeile 380 angepasst werden
- irgendwo gibt es noch ein problem wenn mails eine signatur enthalten. dann zeile 382 statt 381 zu aktivieren
- das ganze ist nur mit plaintext singlepart nachrichten getestet
- das attribut accept_from muss eine komma getrennte liste der erlaubten key ids enthalten
- mails die nicht signiert sind oder keine gültige signatur haben oder deren signatur nicht mit einem erlaubten key erzeugt wurde werden verworfen.

- ab zeile 398 ff. könnte man s/mime unterbringen

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

StofLE

Modul funktioniert bei mir soweit (in meinem Fall mit GMX). Mails kommen an und der Betreff wird im Event Monitor von FHEM auch angezeigt.

Jetzt habe ich nur das Problem: Ich habe überhaupt keinen Plan, wie ich nun den Betreff auswerten lassen soll, um dann Aktionen durchführen zu lassen (FreundeApp). Kann jemand helfen?

betateilchen

define n_MailCheck notify <mailcheckName>.*Subject:.* { macheIrgendWas() }
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: justme1968 am 20 Oktober 2013, 22:55:55anbei eine erste version die gpg signaturen prüfen kann.
...
- ab zeile 398 ff. könnte man s/mime unterbringen

Hallo Andre,

ich hab die Sache nicht vergessen, aber im Moment bin ich mit der "PIN"-Lösung ziemlich zufrieden und habe mich um eine Signaturprüfung einfach noch nicht weiter gekümmert.

Aktuell scheint Dein Modul superstabil zu laufen. Nachdem ich die Lösung mit dem nossl gefunden hatte, habe ich keinen einzigen Ausfall erlebt.

Wer sich für die PIN Abfrage in der Auswertung interessiert:

define n_mC notify mC.*Subject:.* { my (undef, $v) = split(/:/,$EVENT); my ($pin,$cmd) = split(/=/,$v); fhem $cmd if($pin == 9999) }

9999 ist im Beispiel die gültige PIN, im Subject der email muss dann z.B. stehen:

9999=set lampe on

Das = ist das Trennzeichen zwischen PIN und Befehl.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Blakharaz

Hi,
ich habe mit fhem erst angefangen obwohl ich das projekt schon eine ganze weile verfolge.
stehe aber glaube ich mit der Syntax etwas auf dem Kriegsfuß.
Kann mir mal jemand an einem konkreten beispiel schreiben wie der Syntax lauten muss.
Ich möchte gerne Wenn eine Email mit dem Betreff "anwesend" kommt den Dummy "Sven_anwesend" auf on schalten.
Ich habe es unter anderem hiermit versucht
define n_MailCheck notify mcheck.*Subject:.* { Fhem "Set Sven_anwesend on" }
Was wenn ich es richtig verstehe generell bei Ankunft einer Email Sven_anwesend auf on schalten müsste oder?
Ach so.
mailcheck funktioniert. Laut event monitor

2013-10-31 10:46:59 mailcheck mcheck Subject: anwesend

Wolle02

Hallo,

das set bei "Set Sven_anwesend on" musst du klein schreiben.

Mein notify mit dem ich den Betreff auswerte sieht bei mir so aus:
define Mailbefehl_n notify mailcheck {my $Mailbefehl=(ReadingsVal("mailcheck","Subject",""));;fhem ("$Mailbefehl")}

Gruß
Wolle

Blakharaz

Hab dein Beispiel mal eingebaut und funktioniert einwandfrei. Merkwürdig finde ich aber das mein Beispiel auch mit kleinem Set nicht funktioniert.

justme1968

vielleicht weil das fhem auch kein geschrieben werden muss ...

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!