[gelöst] Undefined subroutine &main::fb_mail

Begonnen von Alex76, 23 Juli 2019, 09:09:28

Vorheriges Thema - Nächstes Thema

Alex76

Im prinzip hab ich ja eine Abwandlung des Wiki Beitrags genommen nur kannte ich sendemail nicht und hab es für einen Tippfehler gehalten. Das lag an meiner Unwissenheit, wie schon oben geschrieben.

Der Name der Funktion hat sich dadurch ergeben, dass in allen Beispielen fb_mail drinnen steht und somit (aus faulheit) hab ich die Funktion einfach umgeschrieben und sendemail gegen sendmail getauscht. Da ich eh keine Authentifizierung beim Mailsenden aus dem eigenen LAN benötige.

Aber danke für die Hilfe - nun läuft es und ich versuche immer wenn Zeit ist wieder ein paar Fehler im fhem.log raus zu bekommen, da FHEM schon recht langsam läuft bei mir. Wenn nur nicht immer das Problem der Zeit wäre....

Beta-User

Zitat von: Alex76 am 23 Juli 2019, 11:08:28
Aber danke für die Hilfe - nun läuft es und ich versuche immer wenn Zeit ist wieder ein paar Fehler im fhem.log raus zu bekommen, da FHEM schon recht langsam läuft bei mir. Wenn nur nicht immer das Problem der Zeit wäre....
Gerne geschehen. Dann nimm' dir bitte jetzt die Zeit und markiere den Thread als "gelöst"...

Eine weitere Anmerkung noch: Die meiste Zeit sparst du, wenn du die Anleitungen nicht allzu frei interpretierst. Hier scheinst du nämlich versehentlich einen vollwertigen Mailserver installiert zu haben, statt eines leichtgewichtigen Clients.
Ein paar solche Aktionen, und die Performance eines Pi ist entsprechend... Ggf. gilt erst mal: weniger ist mehr.

Und die Attitüde, erst mal anderen Fehlern zu unterstellen, ist nicht eben förderlich für die Hilfsbereitschaft anderer :P . Deine Kommentare kamen (bis vielleicht auf den letzten) nicht eben so rüber, als wäre da der Gedanke "Danke für den Hinweis, dass ich da was wichtiges übersehen habe".

Just my2ct...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Alex76

#17
Dann war das wohl Lost in Translation ;)
Auch wenn wir die gleiche Sprache sprechen - hab auch nur die Fehler gesucht und hab nur alles beschrieben was mir als fhem Anfänger aufgefallen ist.

Aber wie es immer in der IT ist, man kann nicht alles kennen.

Hab im ersten Post nun auch die Lösung dazu geschrieben, damit es vielleicht jemand anderen auch weiter hilft.

Otto123

Zitat von: Alex76 am 23 Juli 2019, 11:08:28
Da ich eh keine Authentifizierung beim Mailsenden aus dem eigenen LAN benötige.
Du meinst damit, dass Du sendmail als Mailserver im LAN betreibst der dann keine Verbindung zur Außenwelt hat?  :o
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Alex76

Nö, ich hab Sendmail drauf und der macht eine smtp Verbindung zur Firewall.

Somit kann auch das Linux selbst Nachrichten verschicken, wobei natürlich sendemail (jetzt nachdem ichs mir angesehen hab) auch eine feine Sache ist.

Beta-User

Zitat von: Alex76 am 23 Juli 2019, 11:24:03
Hab im ersten Post nun auch die Lösung dazu geschrieben, damit es vielleicht jemand anderen auch weiter hilft.

Das ist zwar vom Ansatz her löblich, aber wie wir (Otto und ich) schon angemerkt hatten: Du machst was ganz anderes, und das ist in der Regel nicht der zu empfehlende Weg. Das "könntest du eventuell noch klarer zum Ausdruck bringen".

(Ich hoffe, dieses Mal ist auch in deiner Sprache hinreichend verständlich, um was es eigentlich geht...: Du hast da was vermurkst, und solltest dies keinesfalls anderen, die genauso oberflächlich lesen als "Lösung" präsentieren!)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Alex76

Zitat von: Beta-User am 23 Juli 2019, 12:25:46
Das ist zwar vom Ansatz her löblich, aber wie wir (Otto und ich) schon angemerkt hatten: Du machst was ganz anderes, und das ist in der Regel nicht der zu empfehlende Weg. Das "könntest du eventuell noch klarer zum Ausdruck bringen".

(Ich hoffe, dieses Mal ist auch in deiner Sprache hinreichend verständlich, um was es eigentlich geht...: Du hast da was vermurkst, und solltest dies keinesfalls anderen, die genauso oberflächlich lesen als "Lösung" präsentieren!)

Dann lies bitte meine Lösung - du wolltest es ja als [gelöst] markiert haben.

Beta-User

 :)
OK, da steht jetzt sendemail.

Dann verstehe ich nur nicht, warum du um 12:24 Uhr noch was von sendmail schreibst, das hat mich zugegebenermaßen davon abgelenkt, wie das da im ersten Beitrag geändert wurde... Nix für ungut, und ggf. wirfst du zugunsten der Performance und zur Vermeidung eventueller Sicherheitsprobleme auch sendmail wieder von dem Pi (wenn es da überhaupt drauf ist, und nicht doch irgendwo eine absichtliche sendmail-Installation samt entsprechender Absicherung vorhanden sein sollte).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Alex76

#23
Das ganze läuft in einer Hyper-V VM, die nichts anders als FHEM macht, somit ist das von der Performance kein Thema (Zumindest seitens Linux) und für diesen zweck hängt das alles in einem eigenen VLAN. Somit passt das schon und Senden dürfen die IPs sowieso nur zu meinem richtigen, internen Mailserver. Mir war einfach sendemail kein Begriff.

Das Einzige was performance mässig etwas bremst ist die syncrone Abarbeitung der Abfragen, das wäre asyncron (zumindest sieht es so im Log aus) etwas schöner. Wenn zb mein Bose System aus ist und keinen Strom hat, hängt bei der Abfrage immer fhem und da merkt man dann die Gedenksekunden bis zum Timeout. Aber vielleicht ist das nur Zufall und hat damit auch nichts zu tun.

Otto123

Zitat von: Alex76 am 23 Juli 2019, 12:24:27
Nö, ich hab Sendmail drauf und der macht eine smtp Verbindung zur Firewall.
Ok. Ich weiß nicht ob es relevante Last erzeugt, ein Zusatz Aufwand ist der Server allemal. Und bei einer Fehlersuche macht das Gehopse der Mails auch keinen Spass. ;) Aber ich bin da mit meiner Vorsicht oft allein :)
Du sagst ja es läuft langsam.
Ich würde gerade auch auf Systemen die auf SD Card laufen alles vermeiden was nicht gebraucht wird und ständig irgendwas schreibt. Vielleicht ist das ein Grund, warum bei mir noch nie eine defekt war.
Ok ist bei Dir kein Thema :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

CoolTux

Sendmail also der tatsächliche MTA Sendmail ist ein riesen Teil und nicht mal eben so hinkonfiguriert. Also wenn Du Dich nicht schon ein halbes Jahr damit beschäftigt hast und Du wirklich den Anno 1990er Sendmail MTA verwendest dann wird er wohl nicht gehen.

Wenn doch. Meine Hochachtung
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Alex76

#26
Im prinzip ist das nicht so schwer, man muss dafür, dass er alles über einen externen Smarthost schickt nur in der /etc/mail/sendmail.mc den Eintrag define(`SMART_HOST',`smtp.dein-mailserver.com') setzen + make -C /etc/mail + restart von sendmail.

Damit es schön wird, könnte man die Adressen noch via Masquerading umschreiben, aber He, es ist ja nur eine kleine fhem Instanz und der Absender ist egal, kann ruhig fhem@fhem.xxxx.xx oder root@fhem.xxxx.xx heißen. ;)

Er hats ja nur an meine Firewall zugestellt und die wiederum an den Server im Server LAN. Empfangen muss das Ding ja nichts.

JoWiemann

Mittlerweile bin ich mehr als verwirrt, vor allem die Anpassungen im ersten Post.

- Der Threadtitel hilft keinem weiter, da hier auf fb_mail referiert wird
- die Zeile: $ret .= qx(sendemail -f 'fhem@xxx.xx' -t 'xxxx@xxxx.xx' -u '$subject' -m '$text' -s 'xx.xx.xx.xx:25' -o tls=no -o message-charset=utf-8); finde ich im Wiki nicht
- es wird eine im Wiki beschriebene, bei vielen funktionierende sub, einfach umbenannt
- es ist nicht erkenntlich in welchem Environment Fhem läuft
- "Undefined subroutine &main::FB_mail" deutet darauf hin, dass das Modul 99_Utils.pm (oder auch 99_myUtils.pm) nicht geladen werden konnte. Wieso ändert sich das durch escapen
- es wird weiterhin 99_Utils.pm referiert. Die ist aber sakrosant

Meine Bitte:
Ersten Post wirklich einmal sinnhaft überarbeiten.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Alex76

#28
Zitat von: JoWiemann am 23 Juli 2019, 14:28:36
Mittlerweile bin ich mehr als verwirrt, vor allem die Anpassungen im ersten Post.

- Der Threadtitel hilft keinem weiter, da hier auf fb_mail referiert wird
- die Zeile: $ret .= qx(sendemail -f 'fhem@xxx.xx' -t 'xxxx@xxxx.xx' -u '$subject' -m '$text' -s 'xx.xx.xx.xx:25' -o tls=no -o message-charset=utf-8); finde ich im Wiki nicht
- es wird eine im Wiki beschriebene, bei vielen funktionierende sub, einfach umbenannt
- es ist nicht erkenntlich in welchem Environment Fhem läuft
- "Undefined subroutine &main::FB_mail" deutet darauf hin, dass das Modul 99_Utils.pm (oder auch 99_myUtils.pm) nicht geladen werden konnte. Wieso ändert sich das durch escapen
- es wird weiterhin 99_Utils.pm referiert. Die ist aber sakrosant

Meine Bitte:
Ersten Post wirklich einmal sinnhaft überarbeiten.

Grüße Jörg

- Der Threadtitel hilft keinem weiter, da hier auf fb_mail referiert wird
   stimmt, ich hab die fb_mail genommen, da in den meisten Codebeispielen auf diese referenziert wird und kaum jemand auf eine andere Klasse bei den notify rücksicht nimmt in den Threads. Warum auch immer.
- die Zeile: $ret .= qx(sendemail -f 'fhem@xxx.xx' -t 'xxxx@xxxx.xx' -u '$subject' -m '$text' -s 'xx.xx.xx.xx:25' -o tls=no -o message-charset=utf-8); finde ich im Wiki nicht
   Stimmt, da im Wiki davon ausgegangen wird, dass Du immer einen User + Passwort brauchst, was bei einem Smarthost vom Provider vielleicht nicht so ist.
- es wird eine im Wiki beschriebene, bei vielen funktionierende sub, einfach umbenannt
   siehe Antwort 1
- es ist nicht erkenntlich in welchem Environment Fhem läuft
   Da hast Du recht, schreib ich hinzu.
- "Undefined subroutine &main::FB_mail" deutet darauf hin, dass das Modul 99_Utils.pm (oder auch 99_myUtils.pm) nicht geladen werden konnte. Wieso ändert sich das durch escapen
   Das kann ich Dir inzwischen sagen, da FHEM eigentlich Perl ist und bei Sonderzeichen die es im Code nicht richtig lesen kann diese Datei mit einem Fehler einfach nicht mit einbindet. Warum ich das im Log selbst nicht gefunden habe weiß ich auch nicht, aber es ist nachvollziehbar ohne escapen so, dass er dieses File komplett ignoriert. Antwort dazu: https://perlmaven.com/quoted-interpolated-and-escaped-strings-in-perl
- es wird weiterhin 99_Utils.pm referiert. Die ist aber sakrosant
   Such ich in meinen Beiträgen und bessere es auf myUtils aus.

Beta-User

Mal ernsthaft:

diese ganzen nachträglichen Änderungen bringen uns nicht weiter, sondern der Thread wird schlicht unleserlich/unverständlich.

(Und das hat auch nichts mit [gelöst] zu tun, das ist "nur" ein Hinweis an eventuelle Helfer, dass sie sich mit der Sache nicht weiter befassen brauchen).

Wenn also überhaupt: Bitte einfach im ersten Post klarstellen, dass diverse Mißverständnisse vorliegen und man diesen Thread ansonsten am besten überhaupt nicht mehr liest. (Oder habe ich irgendeinen Aspekt übersehen, der anderen ggf. über das hinaus, was sowieso (bei richtigem Lesen) im wiki steht, irgendwie weiterhelfen würde? Ich kann nur Verwirrung erkennen...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors