Hi,
ich habe nun schon oft versucht auf meinem PC die mail()-Funktion zum laufen zu bringen. Falls jemand ähnliche Probleme hat, hier eine Anleitung:
Pakete¶
Es müssen nur diese Pakete installiert werden:
Testskript¶
1 2 3 4 5 6 | <? $to = 'deineEmail@adresse.de'; $subject = 'Juhu!'; $message = 'Es hat geklappt'; echo mail ($to, $subject , $message); ?> |
siehe mail()-Referenz
sudo /etc/init.d/apache2 restart
Postfix¶
Wer eine ausführliche Erklärung will, sollte sich den Wiki-Artikel Postfix ansehen. Hier steht im Prinzip das gleiche, nur kürzer.
Konfiguration
Satelitensystem
Name der domain (bei mir: martin-thoma.de)
Name des Providers, z.B. smtp.mailanbieter.de
sudo gedit /etc/postfix/main.cf
folgendes hinzufügen:
smtp_sasl_auth_enable = yes # noplaintext weglassen, wenn Passwörter im Klartext übertragen werden müssen: # (nicht empfohlen, nur wenn's anders nicht funktioniert) smtp_sasl_security_options = noplaintext noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
sudo gedit /etc/postfix/sasl_password
in die leere Datei die Zugangsdaten nach folgendem Schema schreiben:
smtp.mailanbieter.de username:ganzgeheimespasswort
sudo gedit /etc/postfix/sender_canonical
www-data info@martin-thoma.de root info@martin-thoma.de
sudo postmap /etc/postfix/sasl_password sudo /etc/init.d/postfix restart
folgendes steht bei mir nun in /var/log/mail.log:
Aug 9 10:42:28 pc07 postfix/pickup[12373]: 4FEDF5E81CF: uid=1000 from=<moose> Aug 9 10:42:28 pc07 postfix/cleanup[12393]: 4FEDF5E81CF: message-id=<20090809084228.4FEDF5E81CF@martin-thoma.de> Aug 9 10:42:28 pc07 postfix/qmgr[12374]: 4FEDF5E81CF: from=<moose@martin-thoma.de>, size=375, nrcpt=1 (queue active) Aug 9 10:42:29 pc07 postfix/smtp[12395]: 4FEDF5E81CF: to=<themoosemind@gmail.com>, relay=smtp.knallhart.de[213.160.86.21]:25, delay=0.84, delays=0.04/0.02/0.51/0.27, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 0B73D1FF9D7) Aug 9 10:42:29 pc07 postfix/qmgr[12374]: 4FEDF5E81CF: removed
Nun sollte man mit dem Testskript eine Mail versenden können.
Fehler¶
Sender address rejected: Domain not found (in reply to RCPT TO command)
Ihr solltet auf den Absender achten, siehe Postfix (Abschnitt „Korrekten-Absender-setzen“)
fatal: open /etc/postfix/main.cf: No such file or directory
Postfix wurde nicht konfiguriert. Am leichtesten wird es sein, Postfix neu zu installieren:
sudo apt-get purge postfix sudo apt-get install postfix
Dann nicht den Installationssetup abbrechen!
fatal: open database /etc/postfix/sender_canonical.db: No such file or directory
sudo postmap /etc/postfix/sasl_password
Ich hoffe das hilft jemandem weiter