FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Macshrek am 29 Oktober 2015, 11:14:22

Titel: Sendmail funktioniert nicht!?
Beitrag von: Macshrek am 29 Oktober 2015, 11:14:22
Hallo Zusammen,

ich habe jetzt eine FOSCAM C1 mit dem IPCAM Modul eingerichtet - das funktioniert soweit gut.
Gleichwohl möchte ich nun die Snapshots per Email versenden und bekomme im Logfile folgenden Eintrag:

2015.10.29 10:45:07 1: PERL WARNING: Can't exec "sendemail": No such file or directory at ./FHEM/99_myUtils.pm line 37

Leider hilft mir das nicht den Fehler zu erkennen.

Hier mal der Inhalt der 99_myUtils:

package main; 
use strict; 
use warnings; 
use POSIX; 
sub 
myUtils_Initialize($$) 

  my ($hash) = @_; 

####################################### 
sub 
sendSnapshot(@) 

  my ($cam,$snapshots) = @_; 
  my $storage = AttrVal($cam,"storage",""); 
  my $rcpt = '*******************'; 
  my $from = '******************';
  my $usr = '********************'; 
  my $pw = "********************" ;
  my $smtp = "*********** :***";
  my $subj = "FHEM: Kamera $cam hat ein Bild aufgezeichnet"; 
  my $last = ReadingsTimestamp($cam,"last",""); 
  my $mess = "Kamera $cam hat ein Bild am $last aufgezeichnet:"; 
  if(!-d $storage) { 
    Log 1, "IPCAM $cam storagepath does not exists: $storage"; 
    return "storagepath for $cam does not exists: $storage"; 
  } 
  if(!$last) { 
    Log 1, "IPCAM $cam no snapshots available"; 
    return "no snapshots available for $cam"; 
  } 
  my $cmd  = "sendemail -f $from -t $rcpt -s $smtp -xu $usr -xp $pw -u $subj -m $mess "; 
     $cmd .= "-o message-content-type=text -o message-charset=utf-8 -a"; 
  for (my $s=1;$s<$snapshots+1;$s++) { 
    $cmd .= " $storage/".ReadingsVal($cam,"snapshot$s",""); 
  } 
  my $ret  = `$cmd`; 
  $ret =~ s/[\r\n]//g; 
  Log 4, "IPCAM sendSnapshot: $ret"; 
  return undef; 

1;


(Die ************* oben sind natürlich nur Platzhalter)

Was habe ich evtl. falsch gemacht ?? :-[

DANKE ! :D

Beste Grüße

macshrek
Titel: Antw:Sendmail funktioniert nicht!?
Beitrag von: kumue am 29 Oktober 2015, 11:26:56
$cmd .= " $storage/".ReadingsVal($cam,"snapshot$s","");

..das sieht mir etwas merkwürdig aus.. snapshot$s
Titel: Antw:Sendmail funktioniert nicht!?
Beitrag von: JoWiemann am 29 Oktober 2015, 11:41:03
Meinst Du wirklich "sendemail" oder doch "sendmail" ?!

Grüße Jörg
Titel: Antw:Sendmail funktioniert nicht!?
Beitrag von: Macshrek am 29 Oktober 2015, 11:51:17
ok sieht nach einem Tippfehler aus, gleichwohl habe ich das gerade auf sendmail geändert, dass Ergebnis bleibt jedoch das gleiche?
Titel: Antw:Sendmail funktioniert nicht!?
Beitrag von: Hollo am 29 Oktober 2015, 12:02:38
Hast Du denn sendmail auf Deinem System installiert ?
Ich sehe in Deiner Funktion auch keine Angabe zum Aufruf, so in der Richtung...
my $sendmail = '/usr/sbin/sendmail';
Titel: Antw:Sendmail funktioniert nicht!?
Beitrag von: Macshrek am 29 Oktober 2015, 13:24:17
@hollo: danke für den Hinweis SENDMAIL auf dem Raspi fehlte noch; dafür gibt es dann jetzt folgende Meldung:

2015.10.29 13:20:49 1: PERL WARNING: Can't exec "sendmail": Permission denied at ./FHEM/99_myUtils.pm line 38.
2015.10.29 13:20:49 1: PERL WARNING: Use of uninitialized value $ret in substitution (s///) at ./FHEM/99_myUtils.pm line 39.
2015.10.29 13:20:49 1: PERL WARNING: Use of uninitialized value $ret in concatenation (.) or string at ./FHEM/99_myUtils.pm line 40.

:o
Titel: Antw:Sendmail funktioniert nicht!?
Beitrag von: marvin78 am 29 Oktober 2015, 13:38:13
Das Tool, was ihr sucht, heißt tatsächlich sendEmail und nicht sendmail (siehe Wiki Artikel zu DebianMail). Ich würde aber immer zu exim4 greifen.
Titel: Antw:Sendmail funktioniert nicht!?
Beitrag von: Macshrek am 29 Oktober 2015, 21:42:18
;D ;D STRIKE ! Es funktioniert !!  ;D ;D

hier mein Lösungsweg:

1. habe ich noch mal die Beschreibung im FHEMWIKI für sendEmail durchgesehen und alles für den Raspi gecheckt
insbesondere habe ich noch mal per Konsole am Raspi die smtp-Einstellung  getestet (smtp-adresse, port, etc.) bis ich nur noch den Hinweis auf
authentication failed bekam. 
2. daraufhin die Einstellungen beim Email-Provider geprüft und siehe da, dort musste ich noch die Sicherheitsstufe für den Zugriff auf das Emailkonto  geändert werden, da lt. aktuellen Einstellungen nur "sicherheitsqualifizierte Apps" zugelassen werden... :o
3. in der 99_utils noch die SMTP Einstellungen angepasst, Port 587, TLS=yes
4. und sendmail auf sendEmail geändert

fertig, funzt.

Danke eure Hilfe  :)