E-Mail Benachrichtigung

Status
Für weitere Antworten geschlossen.

Rocko

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
330
Punkte für Reaktionen
0
Punkte
16
Hallo Leute ;)

Hatte heute einen DSL Ausfall. Bringt mir diese "Benachrichtigung" in den Einstellung etwas - werde ich hier benachrichtigt :confused: Die Testmail funktioniert übrigens :)

... Es wird eine E-Mail Benachrichtigung geschickt, wenn das Sytem einen Fehler oder eine Statusänderung feststellt.


Was ist eigentlich unter: Statusänderung gemeint?

Danke, Gr. Rocko
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Unwahrscheinlich. Höchstens der DDNS-Client könnte was bemerken, der Rest tummelt sich nicht im WWW.
Statusänderung bezieht sich v.a. auf Festplatten sowie auf Backups. Das sind die häufigsten Gründe für verschickte Fehler-Mails.

MfG Matthieu
 

Rocko

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
330
Punkte für Reaktionen
0
Punkte
16
Danke :)

Heute kam diese Mail:

-----------

Sehr geehrter Benutzer,

Die lokale Datensicherung auf "Mein-Servername" ist abgeschlossen.

Aufgabe: My Backup Set
Ziel: /volumeUSB1/usbshare

Mit freundlichen Grüßen
Synology Disk Station
 

Chrunchy

Benutzer
Mitglied seit
05. Mrz 2007
Beiträge
470
Punkte für Reaktionen
0
Punkte
16
Hallo zusammen,
ich hänge mich hier mal dran.

Ich lasse regelmäßig einen Cronjob laufen, der auch nen Logfile anlegt. Gibt es eine Möglichkeit, dieses Logfile anschl. per Mail zu versenden?
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Über php und mail() sollte gehen ... aber wie das genau laufen könnte hab ich keine Ahnung.

MfG Matthieu
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Über php und mail() sollte gehen ... aber wie das genau laufen könnte hab ich keine Ahnung.

MfG Matthieu
Via PHP, mail() und damit sendmail geht es aber nur wenn die Mailstation (mindestens der Postfix Server läuft).
Ich verschicke meine verschiedenen Files via ipkg php. Dann hast du nämlich den php Shell Interpreter und musst beim cron keinen Umweg via wget gehen. Allerdings läuft bei mir auch der Postfix Server.
Der sendmail Pfad für die php.ini ist
Code:
sendmail_path = "/usr/syno/mailstation/sbin/sendmail -t"
Wichtig: sendmail erwartet eine komplette und korrekte Email (d.h. alle Header und der Body. Das Ganze natürlich korrekt formatiert). Die php Funktion mail() übernimmt das meiste, aber wenn du sendmail direkt auf der Konsole ansprechen willst sind obige Punkte sehr wichtig.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hallo zusammen,
ich hänge mich hier mal dran.

Ich lasse regelmäßig einen Cronjob laufen, der auch nen Logfile anlegt. Gibt es eine Möglichkeit, dieses Logfile anschl. per Mail zu versenden?
Wenn du sendmail hast ist es wirklich ganz einfach. Leg dir eine Header Datei an (Name und Speicherort egal) z.B. mit folgendem Inhalt
Code:
From: ALERT <me@MEINEDOMAIN.TLD>
To: <you@YOURDOMAIN.LTD>
Subject: Halli hallo
Wichtig ist, dass die Datei mit einer Leerzeile, also zwei Zeilendendzeichen endet.
Dann kannst du eine Email mit einem Logfile einfach so verschicken
Code:
#!/bin/sh
cat /path/to/headerfile /path/to/filetosend | /path/to/sendmail -f "ABSENDERADRESSE" -t "EMPFAENGERADRESSE"
sendmail nimmt die Email entgegen und gibt sie an den Postfix Server zum Versand. Das ist auch der Grund warum der Postfix laufen muss. Es ist kein "echtes" sendmail, sondern nur eine "virtuelle" Schnittstelle zu Postfix für Programme, die noch sendmail voraussetzen.
Wenn du den Aufbau der SMTP Kommunikation verstehst, dann könntest du Emails auch direkt an den Postfix geben, ohne den Umweg über das virtuelle sendmail.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Via PHP, mail() und damit sendmail geht es aber nur wenn die Mailstation (mindestens der Postfix Server läuft).

Das ist nicht ganz richtig so. Wie sollten denn ohne eine MailStation-Installation die E-Mails verschickt werden können und das geht ja zweifellos mit den Systembenachrichtigungen. Auch ohne Mailstation und sendmail kann man E_Mails verschicken (siehe auch die MiniMail-3rdparty-apps von mir). Mit der IPKG-Installation von nail geht es auch recht einfach, Dateien zu versenden ohne sendmail - halt mit einem entfernten smtp-Server.

Die MailStation macht immer dann Sinn, wenn man an unterschiedliche Adressaten schicken und von ihnen auch Mails erhalten will.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Das ist nicht ganz richtig so. Wie sollten denn ohne eine MailStation-Installation die E-Mails verschickt werden können und das geht ja zweifellos mit den Systembenachrichtigungen. Auch ohne Mailstation und sendmail kann man E_Mails verschicken (siehe auch die MiniMail-3rdparty-apps von mir). Mit der IPKG-Installation von nail geht es auch recht einfach, Dateien zu versenden ohne sendmail - halt mit einem entfernten smtp-Server.

Die MailStation macht immer dann Sinn, wenn man an unterschiedliche Adressaten schicken und von ihnen auch Mails erhalten will.

Itari
Ich habe nicht behauptet, dass es nur mit sendmail gehen würde. ;) Wenn du den SMTP Dialog korrekt umsetzt kannst du z.B. mittels php auch ohne mail() mit einem SMTP Server reden.
Syno redet wohl für die Info Mails direkt mit dem Server gegenüber. In php kannst du mit fsockopen(), fgets() und fputs() problemlos Mails verschicken, ohne jegliche Zwischenstationen direkt zum Empfangsserver
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich habe nicht behauptet, dass es nur mit sendmail gehen würde. ;) Wenn du den SMTP Dialog korrekt umsetzt kannst du z.B. mittels php auch ohne mail() mit einem SMTP Server reden.
Syno redet wohl für die Info Mails direkt mit dem Server gegenüber. In php kannst du mit fsockopen(), fgets() und fputs() problemlos Mails verschicken, ohne jegliche Zwischenstationen direkt zum Empfangsserver

Schau dir meine MiniMail an ... ohne sendmail, ohne fsockopen() usw. - schlicht mail() - hier ein Auszug aus dem PHP::

PHP:
  if ($_REQUEST['Subject'] == '') $_REQUEST['Subject'] = '(no subject)';
  $FROM=$mail[$_REQUEST['mbox']]['mail1'];$From=substr($FROM,0,strpos($FROM,'@'));
  @mail($_REQUEST['SendTo'],$_REQUEST['Subject'],
  stripslashes($_REQUEST['Body']).($_REQUEST['ContentType']=='text/plain'?chr(10).chr(10):'<br><br>').stripslashes($_REQUEST['Signature']),
  "From: \"".$From."\" <".$FROM.">\n" 
  .'Content-Type: '.$_REQUEST['ContentType'].'; charset="iso-8859-1"\n'
  );

Das gab es schon immer. Voraussetzung war nur, dass du die Dinge zur Mail in der /etc/synoinfo.cong richtig ausgefüllt hattest.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Schau dir meine MiniMail an ... ohne sendmail, ohne fsockopen() usw. - schlicht mail() - hier ein Auszug aus dem PHP::
Im Hintergrund wird php mit ziemlicher Sicherheit trotzdem sendmail verwenden. Wie es scheint funzt sendmail auch ohne Postfix, da habe ich mich wohl geirrt.
Was steht denn in deiner php.ini unter sendmail_path?
Ich habe auch mal noch bei mir auf der Platte rumgesucht und einen SMTP Schnippel ohne mail() gefunden
PHP:
<?php
$url=array();
$sender='ABSENDERADRESSE';
$url=@explode("@",$_GET['address']);
if(!isset($_GET['address']) || empty($url) || count($url)!=2 || trim($url[0])=='' || trim($url[1])==''){
  die('Keine Emailadresse angegeben z.B. <strong>?address=you@domain.tld</strong>');
}else{
  gethostbyname($url[1])!=$url[1]?$url[2]=gethostbyname($url[1]):$url[2]=false;
  if($url[2]===false){
    die('Es konnte keine IP zu Host <strong>'.$url[1].'</strong> gefunden werden');
  }
  $mx = array();
  $t = getmxrr($url[1],$mx);
  if(count($mx) > 0){
    $mx = $mx[0];
  }else{
    $mx = $url[1];
  }
  $head.= "From: <{$sender}>\r\n";
  $head.= "To: <{$url[0]}@{$url[1]}>\r\n";
  $head.= "Subject: Einen lieben Gruss\r\n\r\n";
  $head.= "Salut {$url[0]}, alles klar?\r\n";
  $head.= ".\r\n";
  
  $fp = @fsockopen($mx,2525,$errno,$errstr,5);
  if(!$fp){
    die('Konnte keine Verbindung zu '.$mx.' aufbauen.<br />Meldung: '.$errstr.' ('.$errno.')');
  }
  $ret[] = fgets($fp,1024);
  $ret[] = "HELO YOUR_HOST\r\n";
  fputs($fp,$ret[count($ret)-1]);
  $ret[] = fgets($fp,1024);
  $ret[] = "MAIL FROM: <{$sender}>\r\n";
  fputs($fp,$ret[count($ret)-1]);
  $ret[] = fgets($fp,1024);
  $ret[] = "RCPT TO: <{$url[0]}@{$url[1]}>\r\n";
  fputs($fp,$ret[count($ret)-1]);
  $ret[] = fgets($fp,1024);
  if(strpos($ret[count($ret)-1],"5") === 0 || strpos($ret[count($ret)-1],"4") === 0){
    $ret[] = "QUIT\r\n";
    fputs($fp,$ret[count($ret)-1]);
    $ret[] = fgets($fp,1024);
    fclose($fp);
    $fp = false;
  }
  if($fp !== false){
    $ret[] = "DATA\r\n";
    fputs($fp,$ret[count($ret)-1]);
    $ret[] = fgets($fp,1024);
    if(strpos($ret[count($ret)-1],"5") === 0 || strpos($ret[count($ret)-1],"4") === 0){
      $ret[] = "QUIT\r\n";
      fputs($fp,$ret[count($ret)-1]);
      $ret[] = fgets($fp,1024);
      fclose($fp);
      $fp = false;
    }
  }
  if($fp !== false){ 
    $ret[] = false;
    fputs($fp,$head);
    $ret[] = fgets($fp,1024);
    $ret[] = "QUIT\r\n";
    fputs($fp,$ret[count($ret)-1]);
    $ret[] = fgets($fp,1024);
  }
  for($i=0;$i<count($ret);$i++){
    if($ret[$i] === false && $fp !== false){
      echo '<table><tr valign="top"><td><strong>IN:   </strong></td><td>'.nl2br(htmlentities($head)).'</td></tr></table>';
      continue;
    }
    if($i==0 || $i%2==0 ){
     echo 'OUT:  <strong>'.nl2br(htmlentities($ret[$i])).'</strong>';
    }else{
     echo '<strong>IN:</strong>     '.nl2br(htmlentities($ret[$i]));
    }
  }
  if($fp !== false){
    fclose($fp);
  }
}
?>
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Was steht denn in deiner php.ini unter sendmail_path?

Nichts anderes als bei dir. Und nochmals, ich hab da nichts gefrickelt, sondern schlicht die PHP-mail()-Funktion verwendet. Dass es auch anders geht, ist mir bekannt. Und dass es auch schöne E-Mail-Klassen gibt auch.

Rich (BBCode):
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Dann muss wohl der Pfad zu sendmail beim ./configure übergeben worden sein oder ./configure hat sendmail selber gefunden. In lib5php.so habe ich mit strings einen Bezug zu eventsmtp (aus der /etc/synoinfo.conf) gefunden. Möglicherweise wird so php angewiesen den Syno eventsmtp zum Versand zu nutzen.
Ich frage Syno dann mal an der CeBit ;)

Gruss

tobi
 

cruzer

Benutzer
Mitglied seit
03. Dez 2008
Beiträge
54
Punkte für Reaktionen
0
Punkte
0
Hallo

Ich habe bei mir auch schon seit Monaten das folgende PHP im Einsatz.

<?php
mail('tomail@domain.de', 'TEST-MAIL', 'Test-Message', 'From: frommail@domain.de');
?>

Seit neustem wird das Mail zwar versendet, jedoch ist das SUBJECT und TEXT leer. Kann mir jemand sagen was ich falsch mache?

Ich habe dann auch mal eine Testnachricht von der Management-Console versendet und da klappt es wunderbar, doch weshalb geht es mit dem PHP-Skript nicht mehr.

Vielen Dank
Gruss Cruzer
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat