Mailversand Raspberry unter Buster

Begonnen von Sonic, 28 Dezember 2019, 14:35:27

Vorheriges Thema - Nächstes Thema

Otto123

Wenn Du mich fragst, ist das hier ssmtpMail eine Sub in deiner 99_myUtils oder wo anders :)
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

Sonic

Hallo Otto,

ja, ich hatte dies drin, kann aber nun ja raus, weil ich nun auf sendemail umsteigen muss

#####E-Mailfunktion mit ssmtp
sub
ssmtpMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
$ret .= qx(echo "$text" | mail -s "$subject" "$rcpt");
Log 1, "ssmtp RCP: $rcpt, Subject: $subject, Text: $text";
}

1;

Otto123

Naja meine Zeile in der Batteriewarnnung sieht so aus:
{ DebianMail('otto@mailadresse.de', 'FHEM Batteriewarnung', $NAME.': '.$EVENT)}
Sieht also genauso aus wie bei Dir, d.h. Du fügst einfach die Sub aus dem Wiki in deine 99_myUtils ein und benennst sie mit ssmtpMail - dann klappt alles wie vorher.

Aber denke daran: zwischen Copy und Paste gehört unbedingt der Kopf! Also die Sub aus dem Wiki musst Du entsprechend ausfüllen ;)
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

Sonic

Hi Otto, Danke dir Vieeeelmals.

ich bin ober Happy... mit dem Tipp einfach umzubenennen auf ssmtpMail.

sub ssmtpMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $error;
my $konto = getKeyValue("myEmailKonto");
my $passwrd = getKeyValue("myEmailPasswrd");
my $from = $konto; # or use different KeyValue if konto is not the from email address
my $provider = "smtp.1und1.de"; # smtp.domain.tld:port see provider documentation
#Log 1, "sendEmail RCP: $rcpt";
#Log 1, "sendEmail Subject: $subject";
#Log 1, "sendEmail Text: $text";
#Log 1, "sendEmail Anhang: $attach";

$ret .= qx(sendemail -f '$from' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -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";
}

habe eben getestet und es scheinen alle alten Jobs wieder zu funktionieren ohne weitere Massnahmen  ;D ;D

Otto123

sag ich doch. Da kann das neue Jahr ja kommen ;)
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

Sonic

Otto noch ein allerletzte Fage:

Ich habe schon ewig diese Fehlermeldung drin.
Hast du eine Idee was ich in dem Code falsch habe ?

PERL WARNING: Use of uninitialized value $NewMailtime in numeric gt (>) at (eval 213) line 2.
2019.12.29 21:55:30 3: eval: my $EVTPART0='Battery:low';my $EVENT='Battery:low';my $NAME='thermostat';my $TYPE='FHT';my $SELF='n_batt_chk';{
if ( ($EVENT !~ m/ok/) && (time > $main::NewMailtime) ) {


hier der Code

define n_batt_chk notify .*:[Bb]attery.* { \
if ( ($EVENT !~ m/ok/) && (time > $main::NewMailtime) ) {\
   ssmtpMail('alarm@online.de','FHEM Batteriewarnung Heizung', $NAME.': '.$EVENT);; \
   Log 3, "$NAME : Batteriewarnung $EVENT";; \
   $main::NewMailtime = time + 15360;;\
  } \
}

Otto123

#21
naja der Teil: (time > $main::NewMailtime) ich nehme irgendwie an NewMailtime gibt es gar nicht.
Mach die Zeile einfach erstmal so:
if ( ($EVENT !~ m/ok/) ) {\ hab ich auch so ;)

Edit: ach schau  an https://wiki.fhem.de/wiki/E-Mail_per_notify_nach_Zeitablauf_erneut_senden

Da fehlt Dir also was in 99_myUtils ;)
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

Sonic


Sonic

So, habe es in myUtils laut Wiki eingebaut... Fehler leider immer noch.
Falls eine Idee noch da ..... wäre Klasse

2019.12.29 22:16:51 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 37.
2019.12.29 22:16:51 3: eval: my $EVTPART0='Battery:low';my $SELF='n_batt_chk';my $EVENT='Battery:low';my $TYPE='FHT';my $NAME='thermostat';{
if ( ($EVENT !~ m/ok/) && (time > $main::NewMailtime) ) {
   ssmtpMail('alarm.@online.de','FHEM Batteriewarnung Kinsau', $NAME.': '.$EVENT);
   Log 3, "$NAME : Batteriewarnung $EVENT";
   $main::NewMailtime = time + 15360;
  }
}

Otto123

Das ist ein andere Fehler :)

Du hast die Email Routine mit attachment verwendest es aber nicht :)

Du musst die Zeile ändern:
my $attach = shift; in
my $attach = "";

Ich habe es nicht getestet
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

Sonic

Hallo Otto,
will noch nicht so Recht.
Habe es geändert,, jetzt habe ich diese Meldung im Log
die Mail geht jedenfalls Raus, das ist doch schon mal ein Erfolg  ;D

PERL WARNING: Use of uninitialized value $NewMailtime in numeric gt (>) at (eval 227) line 2.
2019.12.29 22:45:27 3: eval: my $SELF='n_batt_chk';my $EVENT='Battery:low';my $NAME='thermostat';my $EVTPART0='Battery:low';my $TYPE='FHT';{
if ( ($EVENT !~ m/ok/) && (time > $main::NewMailtime) ) {
   ssmtpMail('alarm.@online.de','FHEM Batteriewarnung', $NAME.': '.$EVENT);
   Log 3, "$NAME : Batteriewarnung $EVENT";
   $main::NewMailtime = time + 15360;
  }
}
2019.12.29 22:45:28 1: sendemail returned: Dec 29 22:45:28 raspberrypi sendemail[782]: Email was sent successfully!
2019.12.29 22:45:28 3: thermostat : Batteriewarnung Battery:low
2019.12.29 22:45:28 3: n_batt_chk return value: 1577671288

Otto123

#26
Funktioniert bei mir auch nicht. Ich weiß nicht warum :(

Aber ich habe das Wiki nochmal geändert, die Routine verkraftet jetzt das fehlende attachment :)
Wenn Du bei Gelegenheit nochmal schauen willst
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