mail() funktionert ja bekanntlich unter Synology DSM auf einer Diskstation nicht.
Relativ komfortabel kann man jedoch Mails mit dem PEAR-Mail-Paket via SMTP versenden.
Dazu sind folgende Schritte nötig:
- Über den Paketmanager PEAR installieren
- Per telnet oder ssh auf der Diskstation eine Konsole öffnen und
1sudo pear install --alldeps Mail-1.3.0
- Eine Mail per Mail verschicken:
1234567891011121314151617181920212223require_once "Mail.php";$from = '<Eure_E-Mail-Adresse@Eure_Domain.de>';$to = '<Eure_Ziel-E-Mail-Adresse@Eure_Domain.de>';$subject = 'Euer Betreff';$body = 'Euer Mailtext';$headers = array('From' => $from,'To' => $to,'Subject' => $subject);$smtp = Mail::factory('smtp', array('host' => 'Euer SMTP-Server','port' => 'Euer SMTP-Port','auth' => true,'username' => 'Login Eures Absendepostfachs','password' => 'Password Eures Absendepostfachs'));// Send the mail$mail = $smtp->send($to, $headers, $body);
Update für DSM6
Der PEAR-Pfad muss an zwei Stellen ergänzt werden:
1. Hauptmenü => WebStation => PHP-Einstellungen => Häkchen bei „PHP open_basedir benutzerspezifisch anpassen“ setzen und bei „open_basedir:“ am Ende :/volume1/@appstore/PEAR/ ergänzen
2. auf „Erweiterte Einstellungen“ klicken => Reiter „Kern“ anklicken => den Wert für „include_path“ auf „.:/volume1/@appstore/PEAR/“ anpassen und „OK“ klicken
Ggfls. muss der Webserver noch per SSH neu gestartet werden:
sudo synoservice --restart pkgctl-WebStation
Update für DSM7
Und eines Tages funktionierten die Includes von PEAR einfach nicht mehr. Kein Update, kein Nüscht. Sehr schräg!
Abhilfe:
Hauptmenü => WebStation => Skript-Spracheinstellungen => PHP => aktuell genutzte PHP-Version => Bearbeiten => Kern => include_path auf “.:/volume1/@appstore/PEAR/:/tmp:/var/services/tmp:/var/services/web:/var/services/homes:/var/packages/PEAR/target:/usr/local/share/pear” setzen
Webserver neu starten:
sudo systemctl restart pkgctl-WebStation