send email: PERL WARNING: Use of uninitialized value $attach in concatenation (.

Begonnen von maddhin, 24 September 2016, 09:46:58

Vorheriges Thema - Nächstes Thema

Otto123

Outlook com muss gehen
-s 'smtp-mail.outlook.com'
-o tls=auto

Kein Port...
Gerade getestet!

Version sendEmail ? also einfach mal sendEmail ohne alles eingeben.
Version Perl perl -v eingeben
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

maddhin

also immerhin ein Fortschritt: ein 1und1 Account geht!!!

Wir kommen dem Problem also näher. Werde jetzt noch mal einen anderes Outlook.com Postfach probieren...

Otto123

Naja dann  8)
Nimm die 99_myUtils Routine die ich vorhin gepostet habe und die Aufrufe in der Form
{ DebianMail('<name@domain.tld>','Info vom FHEM System','Das EMail Modul funktioniert');;}

Ich schaue mir das mit dem attach und dem Wiki nochmal in Ruhe an.

Gruß Otto
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

maddhin


ja, werde das jetzt alles wieder zusammenbasteln...

Aber das Problem mit Outlook.com besteht weiter. Auch ein anderer Account funkioniert nicht. Das ist nervig.

Werde weiterprobieren und melde mich, wenn es mit Outlook funktioniert oder ich mit den Anhängen dann nicht weiterkomme;)

Lieben Dank für die schnelle Hilfe und nen schönen Samstag!

maddhin

Hm, obwohl ich in der Konsole eine

Sep 24 18:01:55 fhem sendEmail[1473]: Email was sent successfully!


bekomme, bekomme ich keine Emails...  ::)

Werde weitersuchen oder ggf. mal die MIME::Lite Sache versuchen (sobald ich weiß wie das dann genau funktioniert)  :'(

Otto123

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

Otto123

Also ich habe gerade ein frisches Jessie genommen und folgendes getan:
sudo apt-get update
sudo apt-get install sendEmail libio-socket-ssl-perl libnet-ssleay-perl perl

dann
sendEmail -f 'xx@live.de' -t 'xx@xx.de' -u 'Hallo Welt' -m 'Das ist ein Test' -s 'smtp-mail.outlook.com' -xu '<accountname>' -xp '<Passwort>' -o tls=auto

Und schwubs habe ich ne Email. Einfacher geht es kaum ...

Gruß Otto
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

maddhin

Hallo Otto,

danke für Deinen Einsatz - ich habe ja nicht gesagt, dass es generell nicht funktioniert;) Nur bei mir halt nicht...

Aber gute Neuigkeiten: in der Konsole funkioniert es mittlerweile!! Man höre und staune, ich hatte Empfänger und Sender bzw -f (from) und -t (to) vertauscht!!  :-X Mea culpa.

Falls jemand mitliest, der das Wiki ändern kann: bitte das Beispiel noch etwas klarer schreiben. Dass -f 'fhemsystem@meinedomain.tld' = Absender und -t 'ich@meinedomain.tld' = Empfänger ist, ist nicht sofort klar.

Aber das war klar mein Fehler :'(, weil im Thread https://forum.fhem.de/index.php/topic,16470.0/all.html (Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden) zwar klar steht, dass -f from und -t to ist aber ich dann ohne zu denken dem hier gefolgt bin:

Zitat
Wenn's mit Fhem nicht klappt
Sollte es beim Aufruf der Funktion in Fhem ein Problem geben, empfiehlt es sich zuerst eine E-Mail direkt von der Raspberry Konsole zu senden. Im folgenden Beispiel werden dazu die Zugangsdaten durch die eigenen Angaben ersetzt und als "EINE" Zeile an der Konsole eingegeben:
     sendEmail -f 'Ziel@Adresse.de' -t 'absender@account.de' -u 'Betreffzeile' -m 'Test-Nachricht'
               -s 'E-Mail-Anbieter' -xu 'kontoname@account.de' -xp 'passwort' -o tls=no
Zitat Ende

Den Post sollte man mal ändern... ;)

So, lange Rede, in der Konsole geht es aber in FHEM immernoch nicht. Könntest Du mal die 99_myUtils.pm überfliegen, ob Du da einen Fehler siehst?

##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.




### Notifications über Prowl auf dem RPi versenden ###

sub prowl
{
my $subject = $_[0];
my $event = $_[1];
my $priority = $_[2];
my $ret = "";
$ret .=  system("wget -q -O /dev/null 'http://api.prowlapp.com/publicapi/add?apikey=XXX&application=FHEM&event=$event&priority=$priority&description=$subject'");
$ret =~ s,[r
]*,,g;
Log 1, "prowl returned: $ret";
}



######## DebianMail Mail auf dem RPi versenden ############
sub DebianMail
{
my $rcpt = shift;
my $subject = shift;

my $ret = "";
my $sender = "123\@123.com";
my $konto = "123\@123.com";
my $passwrd = "XXX";
my $provider = "smtp.1und1.de";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";;

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$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";
}

1;


Ich versuche die Email mit

{DebianMail('abc@def.com','Test');;}

abzuschicken. Als Anwort kommt immer "138" und sowas im Log, aber keine Fehlermeldung (und keine Email)

2016.09.24 23:44:30 1: sendEmail RCP: abc@def.com
2016.09.24 23:44:30 1: sendEmail Subject: Test


Vielen Dank!

maddhin


Heureka!

Ich weiß nicht woran es lag, aber ich habe mal ein Script für die Konsole gemacht ("DebianMail.pl" aus https://forum.fhem.de/index.php/topic,16470.0/all.html) - nur copy & paste und nachdem ich die Log 1 rausgenommen habe, etc. funktionierte es...

Habe alles aus Notepad++ wieder in die 99_myUtils.pm kopiert und die "print" Sachen entfernt.

Und siehe da: es funktioniert!

Und: mit dem "leerem Anhang" gibt es auch keine Fehlermeldung im Log mehr!!

Problem gelöst, obwohl eigentlich nichts geändert wurde. War wohl ein c&p / Format-Problem. Lehre: ggf. zuerst in einen ordentlichen Editor kopieren...

Danke, Otto!


Otto123

Mann oh Mann, da hast Du ja in Fehlerkiste gegriffen.

Um das Wiki kümmere ich mich - aber nicht mehr heute.

Das mit dem kopieren wird immer wieder gern genommen. Besonders aus dem Windows Editor direkt in die Unixdatei (cr lf anstatt nur lf) gibt "interressante Effekte"

Wichtig ist, dass Du weitergekommen bist.

Gruß Otto
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

maddhin


Ja, wenn Fehler, dann richtig  :o

Auf die Anhänge komme ich vielleicht nochmal zu sprechen, wenn ich denn irgendwann mal dahin komme - sendEmail war ja nur ein Schritt um endlich IPCAM Bilder von SmartVisu via Email zu schicken...

Habe heute festgestellt, dass sendEmail Pushover außer Gefecht gesetzt hat... Also erstmal das wieder irgendwie reparieren...   :'(


Otto123

Ich habe das Wiki etwas korrigiert und erweitert. Es hatte sich ein relativ kleiner "Fehler" eingeschlichen.

Gruß Otto
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