Hallo,
ich bin der Verzweiflung nahe!
Habe auf einem pi die Email-Funktion mit sendEmail konfiguriert. In der myUtils habe ich die routine aus dem Wiki eingespielt.
Alles läuft und ist ok.
habe nun einen zweiten pi aufgbeaut, sendEmail konfiguriert, fhem über apt-get install fhem instaliiert, update unter fhem gemacht
die myutils vom anderen pi kopiert und es läuft nicht. Auf der Linux Konsole funzt es, unter fhem nicht.
Woran kann das liegen? die myUtils ist gleich und wird auch von fhem geladen. ein Aufruf aus fhem mit:
{ eMail('name@domain.de','Test','Test-Text');; }
erzeugt im log:
2014.10.16 18:33:40 1: sendEmail RCP: name@domain.de
2014.10.16 18:33:40 1: sendEmail Subject: Test
2014.10.16 18:33:40 1: sendEmail Text: Test-Text
2014.10.16 18:33:40 1: sendEmail returned:
die myutils sieht so aus:
######## DebianMail Mail auf dem RPi versenden ############
sub
eMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "fhem\@domain.de";
my $konto = "fhem\@domain.de";
my $passwrd = "geheim";
my $provider = "smtp.provider.com:587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
Hat jemand eine Idee, an welcher Schraube ich noch drehen kann?
fhem ist ganz neu installiert, es sind bislang keine devices angelegt.
Spartacus
Hallo,
wie wär es mit der "Stellschraube" Logfile?
Grüße
puschel,
kannst du das etwas genauer spezifizieren? Welches logfile meinst Du? Der Auszug aus dem fhemlog steht ja da oben...
Spartacus.
Hallo,
äh autsch. Stimmt ja.
Ich muss mal meine Augen waschen gehen - sorry.
Grüße
Edith:
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xxx.yyy\@zzz.vw";
my $konto = "aaa.bbb\@zzz.vw";
my $passwrd = "gbhmz";
my $provider = "smtp.zzz.de";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
So sieht die Funktion bei mir aus - ich hab deine jetzt noch nicht 1:1 verglichen.
Edith2: $ret scheint bei dir leer zu sein - daher auch nichts im Logfile hinter dem Eintrag.
...habe fhem von der Konsole neu gestartet mit
/etc/init.d/fhem start
wenn ich jetzt den eMail Befehl auf der fhem Konsole absetzte, erscheint im putty-fenster Folgendes:
sh: 1: sendEmail: Permission denied
das heisst es fehlt irgendwo ein Recht auf das sendEmail.
warum erscheint das nicht im Log von fhem?
verbose ist auf 5
Aber wo soll man das einstellen?
Christian
P.S.
ich habe fhem und alle anderen Programme unter "root" installiert und nun in /usr/bin dem sendEmail die rechte 745 gegeben.
Dann funzt es. Aber wo ist der Fehler bei meiner Installation?
oder hätte man fhem nicht unter root installieren dürfen...