FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Funsailor am 03 Oktober 2023, 17:32:27

Titel: (gelöst) E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: Funsailor am 03 Oktober 2023, 17:32:27
Hallo zusammen,
ich habe seit dem 29.07.23 (Tag der ersten Fehlermeldung) Probleme mit dem versenden von E-Mails. Das lief seit 2017 ohne Probleme.
Am 23.07.23 hat das noch funktioniert, am 27.07.23 hatte ich bei FHEM ein Update durchgeführt (Updates führe ich so etwa 1 mal im Monat durch).

Ich bekomme immer diese Fehlermeldungen, egal ob das senden von einem Ereignis ausgelöst wird, ob ich "{ DebianMail('xxxxxxyy@gmail.com','WohnzimmerAlarm','Da ist jemand im Wohnzimmer');; }" in die Kommandozeile  von FHEM oder den Direktaufruf "sendEmail" in der Konsole eingebe:
2023.10.03 16:43:56.168 1: sendEmail Text: Da ist jemand im Wohnzimmer
2023.10.03 16:43:56.168 1: sendEmail Anhang:
Use of uninitialized value $2 in concatenation (.) or string at /usr/share/perl5/IO/Socket/SSL.pm line 792.
2023.10.03 16:43:56.387 1: sendEmail returned: Oct 03 16:43:56 minipc sendEmail[1231]: ERROR => TLS setup failed: hostname verification failed
Wenn ich das E-Mail Konto mit den selben Daten (Konto,Port und Passwort) wie in der 99_myUtils.pm in Thunderbird eintrage, kann ich damit Mails versenden.
Allerdings musste ich die Verbindungssicherheit des SMTP Server von SSL/TLS auf STARTTLS ändern damit es ]mit dem Port 587 funktioniert.

Sind zwar wenig Infos, aber kann mir da jemand ein Tipp geben? Ich suche schon ziemlich lange nach einer Lösung, bisher habe ich keine Hinweise gefunden.

Edit: Die Mailadresse läuft über 1&1 und mit anderen E-Mail Adressen geht es auch nicht

Edit2: Wenn ich ein reinstall versuche:
sudo apt-get reinstall sendemail libio-socket-ssl-perl libnet-ssleay-perl perl
bekomme ich folgende Meldung:
fhem (6.0.) wird eingerichtet ...
cp: der Aufruf von stat für '/opt/fhem/contrib/init-scripts/fhem.service' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
dpkg: Fehler beim Bearbeiten des Paketes fhem (--configure):
 »installiertes post-installation-Skript des Paketes fhem«-Unterprozess gab den Fehlerwert 1 zurück
Trigger für man-db (2.11.2-2) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
 fhem
E: Sub-process /usr/bin/dpkg returned an error code (1)


Bookworm arbeitet mit systemctl und die fhem.service liegt unter /etc/systemd/system/ und nicht unter /opt/fhem/contrib/init-scripts/

Oder liege ich etwa damit falsch? 
"systemctl stop fhem" und "systemctl start fhem" arbeitet richtig!
Titel: Aw: E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: RalfRog am 03 Oktober 2023, 18:11:54
Schau mal ob du damit weiter kommst:
https://forum.fhem.de/index.php?topic=134561.0
Titel: Aw: E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: Funsailor am 03 Oktober 2023, 18:58:41
Hallo Ralf,
vielen Dank für die Info, sieht ja erfolgversprechend aus.
Allerdings ist die sendemail_1.56-5.2_all.deb ja unter Buster (V10) gelistet, ich habe aber schon den "Bücherwurm" drauf.

Funzt das dann auch noch?
Titel: Aw: E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: Funsailor am 03 Oktober 2023, 19:19:08
Zitat von: Funsailor am 03 Oktober 2023, 18:58:41Hallo Ralf,
vielen Dank für die Info, sieht ja erfolgversprechend aus.
Allerdings ist die sendemail_1.56-5.2_all.deb ja unter Buster (V10) gelistet, ich habe aber schon den "Bücherwurm" drauf.

Funzt das dann auch noch?

Habe das jetzt mit der sendemail_1.56-5_all.deb probiert, selbes Problem.

Allerdings bekomme ich schon beim aufräumen mit "sudo apt autoremove" die Meldung
cp: der Aufruf von stat für '/opt/fhem/contrib/init-scripts/fhem.service' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
dpkg: Fehler beim Bearbeiten des Paketes fhem (--configure):
 »installiertes post-installation-Skript des Paketes fhem«-Unterprozess gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von:
 fhem
E: Sub-process /usr/bin/dpkg returned an error code (1)
Da liegt doch noch etwas anderes im argen.....


Edit1:
So weit sieht das ja gut aus:

root@MiniPC:~# systemctl status fhem.service
● fhem.service - FHEM Home Automation
     Loaded: loaded (/etc/systemd/system/fhem.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-10-03 19:14:09 CEST; 21min ago
    Process: 4674 ExecStart=/usr/bin/perl fhem.pl fhem.cfg (code=exited, status=0/SUCCESS)
   Main PID: 4676 (perl)
      Tasks: 3 (limit: 9224)
     Memory: 266.9M
        CPU: 31.024s
     CGroup: /system.slice/fhem.service
             ├─4676 /usr/bin/perl fhem.pl fhem.cfg
             ├─4677 /usr/bin/perl fhem.pl fhem.cfg
             └─4701 /usr/bin/perl fhem.pl fhem.cfg

Okt 03 19:14:08 MiniPC systemd[1]: Starting FHEM Home Automation...
Okt 03 19:14:09 MiniPC systemd[1]: Started FHEM Home Automation.

Warum wird dann die fhem.service immer unter dem fhem Verzeichniss gesucht?
/opt/fhem/contrib/init-scripts/fhem.service
Titel: Aw: E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: Torxgewinde am 03 Oktober 2023, 20:16:44
Zu deinen Bookworm-Problemen kann ich nicht genau sagen was da nicht klappt. Allerdings: Ich nutze FHEM in einer Bookworm-Chroot ohne systemd und da läuft FHEM sehr gut. Allerdings starte ich FHEM ohne systemd. Doku dazu: https://forum.fhem.de/index.php?topic=134680.0

Zum Versenden von E-Mails nutze ich mittlerweile gerne curl. Doku dazu: https://everything.curl.dev/usingcurl/smtp

Beispiel zum Senden einer E-Mail mit curl aus einem SHELL-Skript heraus:
#!/bin/sh

#E-Mail Details
EMAILTO="torxgewinde@example.domain"
EMAILFROM="fhem@mein-anbieter.de"
EMAILNAME="FHEM"
EMAILPASS="geheim123"
EMAILSERVER="mail.mein-anbieter.de"

#Meine Textnachricht
MESSAGE="Eine wichtige Nachricht aus FHEM. Es ist jetzt: $(date)"

echo "$(date): sending email now..."

#der eigentliche E-Mail Versand erfolgt hier
curl \
--no-progress-meter \
--ssl-reqd smtps://$EMAILSERVER:465 \
--login-options AUTH=PLAIN \
--user "$EMAILFROM:$EMAILPASS" \
--mail-from "$EMAILFROM" \
--mail-rcpt "$EMAILTO" \
--mail-rcpt-allowfails \
-H "Subject: Wichtige Mitteilung aus FHEM" \
-H "From: $EMAILNAME <$EMAILFROM>" \
-F '=(;type=multipart/alternative' \
-F "=$MESSAGE" \
-F "= <body>$MESSAGE</body>;type=text/html" \
-F '=)' || exit 1

echo "$(date): done"

exit 0

Wenn es Probleme gibt, kann man curl sehr gesprächig machen:
#!/bin/sh

#E-Mail Details
EMAILTO="torxgewinde@example.domain"
EMAILFROM="fhem@mein-anbieter.de"
EMAILNAME="FHEM"
EMAILPASS="geheim123"
EMAILSERVER="mail.mein-anbieter.de"

#Meine Textnachricht
MESSAGE="Eine wichtige Nachricht aus FHEM. Es ist jetzt: $(date)"

echo "$(date): sending email now..."

#der eigentliche E-Mail Versand erfolgt hier
curl \
--verbose \
--no-progress-meter \
--ssl-reqd smtps://$EMAILSERVER:465 \
--login-options AUTH=PLAIN \
--user "$EMAILFROM:$EMAILPASS" \
--mail-from "$EMAILFROM" \
--mail-rcpt "$EMAILTO" \
--mail-rcpt-allowfails \
-H "Subject: Wichtige Mitteilung aus FHEM" \
-H "From: $EMAILNAME <$EMAILFROM>" \
-F '=(;type=multipart/alternative' \
-F "=$MESSAGE" \
-F "= <body>$MESSAGE</body>;type=text/html" \
-F '=)' || exit 1

echo "$(date): done"

exit 0

Dateianhänge sind dann auch nur eine Kommandozeilenoption weiter entfernt:
#!/bin/sh

ANHAENGE="/home/torxgewinde/Schreibtisch/dateianhang.txt"

#E-Mail Details
EMAILTO="torxgewinde@example.domain"
EMAILFROM="fhem@mein-anbieter.de"
EMAILNAME="FHEM"
EMAILPASS="geheim123"
EMAILSERVER="mail.mein-anbieter.de"

#Meine Textnachricht
MESSAGE="Eine wichtige Nachricht aus FHEM. Es ist jetzt: $(date)"

echo "$(date): sending email now..."

#der eigentliche E-Mail Versand erfolgt hier
curl \
--no-progress-meter \
--ssl-reqd smtps://$EMAILSERVER:465 \
--login-options AUTH=PLAIN \
--user "$EMAILFROM:$EMAILPASS" \
--mail-from "$EMAILFROM" \
--mail-rcpt "$EMAILTO" \
--mail-rcpt-allowfails \
-H "Subject: Wichtige Mitteilung aus FHEM" \
-H "From: $EMAILNAME <$EMAILFROM>" \
-F '=(;type=multipart/alternative' \
-F "=$MESSAGE" \
-F "= <body>$MESSAGE</body>;type=text/html" \
-F '=)' \
-F "=@$ANHAENGE;encoder=base64"|| exit 1

echo "$(date): done"

exit 0

HTH!
Titel: Aw: E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: RalfRog am 03 Oktober 2023, 23:34:21
Zitat von: Funsailor am 03 Oktober 2023, 18:58:41Hallo Ralf,
vielen Dank für die Info, sieht ja erfolgversprechend aus.
Allerdings ist die sendemail_1.56-5.2_all.deb ja unter Buster (V10) gelistet, ich habe aber schon den "Bücherwurm" drauf.

Funzt das dann auch noch?

Da kann ich nicht wirklich was zu sagen.
Ich hatte nur irgendwie im Kopf, dass da vor ein paar Wochen ein sendEmail-Problem mit Debian12 (bookworm) war und danach gesucht (pcbastler und otto123 berichten ja von Problemen bei bookworm).
Titel: Aw: E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: Funsailor am 23 Oktober 2023, 13:59:34
Hab das nun so gelöst:

https://forum.fhem.de/index.php?msg=1290315

Titel: Aw: (gelöst) E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: micha0815 am 31 Dezember 2023, 12:26:30
Ich stand gerade nach dem Update auf bookworm auch vor dem Problem.
Mittlerweile gibt es ein Pakt im Backports.

Da ich die Backports bei mir nicht e3xtra aktivieren wollte, habe ich mir das Paket direkt unter
https://packages.debian.org/bookworm-backports/all/sendemail/download
heruntergeladen und den mittels dpkg-i installiert.
Jetzt funktioniert der Versand wieder.
Titel: Aw: (gelöst) E-Mail mit Debian-Mail geht nicht mehr
Beitrag von: flobeewan am 07 Februar 2025, 11:11:04
Ich bin auch auf das Problem mit STARTTLS und "sendEmail[]: ERROR => TLS setup failed: hostname verification failed" gestoßen.
Die sendemail Version konnte ich weder direkt updaten, noch über den Backport eine alternative installieren.

Bei mir hat der folgende Lösungsansatz auf Anhieb funktioniert: https://github.com/fhem/fhem-docker/issues/254