Email Versand

Begonnen von dk3572, 05 März 2014, 15:43:49

Vorheriges Thema - Nächstes Thema

dk3572

Hallo,

habe auf meiner FB7390 FHEM installiert (nicht von AVM). Läuft auch als root.
Nach dieser Anleitung http://www.fhemwiki.de/wiki/E-Mail_senden bin ich vorgegangen
um aus FHEM heraus eine Mail zu versenden. Klappt aber nicht.
Ich hab schon Stunden hier im Forum gesucht, gelesen und probiert.

Wer kann mir helfen ohne Fachchinesisch, damit ich nicht wieder kreuz und quer lesen muss?

Meine "99_myUtils.pm" sieht so aus

package main;
use strict;
use warnings;
use POSIX;
use FritzBoxUtils;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}

sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
system("/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
system("rm /var/tmp/fhem_nachricht.txt");
}

1;

und damit habe ich es in FHEM versucht

{ fb_mail('empfaenger@mail.de','Subject','text 123') }

Muss ich noch irgend wo was ergänzen?

Danke im Voraus für jegliche Hilfe
Gruß Dieter

Ist das Thema hier überhaut richtig?
Falls nicht, sorry, bitte verschieben.

Wernieman

1. Mein Tip:
Wer kann mir helfen ohne Fachchinesisch, damit ich nicht wieder kreuz und quer lesen muss?
Wird die meisten Helfer abschrecken. Schließlich sind alle hier private Helfer ....

2. Hast Du mal auf der Konsole probiert, ob es funktioniert?

3. Was steht in den Logs?

4. Der Editor kennt CODE-Tags .... das macht es einfacher, einen beitrag zu lesen  8)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dk3572

Schnelle Antwort, Danke.

zu1) Da geht´s schon los, weil:

zu2) wie geht das?

zu3) in welchen Logs finde ich da was? Hab nämlich auch schon gesucht.

zu4) so?

sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
system("/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
system("rm /var/tmp/fhem_nachricht.txt");
}

Wernieman

Du gehst einfach mal per Konsole (Telnet, Putty etc. je nach Einstellung) auf Deine fb und probiert per Hand den Versand der Mail.

Also Quasi den Block
system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
system("/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
system("rm /var/tmp/fhem_nachricht.txt");


Per Hand direkt in der Konsole, ohne system und Quotas ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dk3572

ok, gemacht, sieht so aus:


BusyBox v1.20.2 (2013-05-13 12:53:07 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

ermittle die aktuelle TTY
tty is "/dev/pts/0"
Console Ausgaben auf dieses Terminal umgelenkt
# system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
-sh: syntax error: unexpected word (expecting ")")
#  system("/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s \"$subject\" -t
\"$rcpt\"");
-sh: syntax error: unexpected word (expecting ")")
#  system("rm /var/tmp/fhem_nachricht.txt");
-sh: syntax error: unexpected word (expecting ")")
#

Wernieman

... lese bitte meinen Beitrag.

Ohne "system" und "quotas"

ala
/bin/echo "Toller test" > /var/tmp/fhem_nachricht.txt
/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s "Testmail" -t "test@test.de"
rm /var/tmp/fhem_nachricht.txt


Und bitte ... diesmal die EMail-Adresse anpassen. Sonst freut sich mal wieder test.de
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dk3572

aha, das ist also das berühmte "wer lesen kann ist klar im Vorteil"  ;D

also ok, das hat dann mal geklappt, Mail ist angekommen.
Und nun?

dk3572

muss ich hier meine Daten eintragen?
Und wenn ja, wo?

my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];

dk3572

Keiner eine Lösung für mich?
Oder stell ich mich zu blöd an?  :-[

UliM

Hi,
Du brauchst in Deiner 99_myUtils keine Routine meht dafür, das ist Bestandteil der fhem Standardauslieferung.
Schau Dir mal den Wiki-Artikel dazu an, da steht's drin :)
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

dk3572

Das hab ich mir schon gefühlte 1000 mal durchgelesen, ich weiß nicht was ich falsch mache.
Heißt also den ganzen Code raus löschen?
Hatte ich auch schon, ging auch nicht.

Gruß Dieter

dk3572

alles raus gelöscht und das in FHEM probiert

{ fb_mail('empfaenger@mail.de','Subject','text 123') }

dann kommt: -1

auch das versucht

{ FB_mail('empfaenger@mail.de','Subject','text 123') }

ohne Erfolg

dk3572

99_myUtils.pm sieht jetzt übrigens so aus:

package main;
use strict;
use warnings;
use POSIX;
use FritzBoxUtils;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}

1;

UliM

http://www.fhemwiki.de/wiki/E-Mail_senden#Fritz.21Box_7390
Auf der FritzBox 7390 ist diese Funktion seit 10/2012 Bestandteil der Fhem Standardauslieferung. Sie ist untergebracht in FritzBoxUtils.pm und heisst dort FB_mail($$$) (Groß-Kleinschreibung beachten).

Da der Dateiname von FritzBoxUtils.pm nicht mit 99_ beginnt, wird diese Programmdatei nicht automatisch beim Start von Fhem geladen. Fhem muss zum Laden dieser Programmdatei aufgefordert werden. Dazu (z. B. in 99_myUtils.pm) die Zeile use FritzBoxUtils; einfügen.

Aufruf dann mittels { FB_mail('empfaenger@mail.de','Subject','text 123') }

RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

dk3572

tja, ich schreib doch, den Link hab ich schon gefühlte 1000 mal angeklickt.
Und die 3 Sätze unzählige mal durchgelesen.
Ich steig einfach nicht dahinter und brauche Hilfe.