php mail mit MAMP am localhost unter Mountain Lion

MAMP am Mac ist schon eine tolle Sache. Eine voll funktionstüchtige Web-Entwicklungsumgebung mit Apache, MySQL und PHP. Leider funktioniert in der Standardeinstellung der php mail-Befehl nicht – es kommen keine E-Mails an.

php mail-Funktion mit MAMP unter OSX 10.8 aktivieren

Der erste Schritt ist herauszufinden, welche PHP-Version MAMP verwendet. Dazu MAMP öffnen und in den Einstellungen im Reiter PHP nachsehen.

MAMP PHP-Version

Die Einstellungsdatei für PHP, die „php.ini“ findet sich im entsprechenden Unterverzeichnis in MAMP – in meinem Fall unter:
/Programme/MAMP/bin/php/php5.4.4/conf/php.ini

In der „php.ini“ (ca. Zeile 566 bei MAMP 2.1.1) ist noch kein „sendmail_path“ eingestellt:
;sendmail_path =

Unter früheren Mac OS Versionen wurde mit „sendmail“ verschickt – der Nachfolger ist „postfix“. Um die Funktion unter Mountain Lion lauffähig zu bekommen, muss folgendes in die Zeile eingetragen werden (mail@domain.com kann ruhig so stehen bleiben und muss nicht zwangsläufig gegen eine echte Adresse ersetzt werden):
;sendmail_path = /usr/sbin/postfix -t -i -f mail@domain.com

Das wars eigentlich schon – die Datei speichern und MAMP einmal neustarten.

php mail-Funtion testen

Zum testen der Einstellungen kann ein einfaches Mail-Script im Apache-Verzeichnis (standardmäßig unter /Programme/MAMP/htdocs/, zu finden in den MAMP-Einstellungen im Reiter Apache) angelegt werden – in meinem Fall die Datei „testmail.php“ mit folgendem Inhalt:

<?php
$sendmail = "From: sender@yourdomain.com\r\n";
mail(
 'recipient@yourdomain.com', // recipient email address
 'Email Subject', // email subject
 'Email Body', // email body
$sendmail . "\r\n"// additional headers
);
?>

Wichtig: „recipient@yourdomain.com“ muss eine existierende E-Mail-Adresse sein.

Jetzt noch im Browser „http://localhost/testmail.php“  bzw. „http://localhost/testmail.php:8888“ (je nach Einstellungen in MAMP im Reiter Ports) aufrufen und die Mail sollte ankommen.

Fehlersuche

Falls etwas nicht funktioniert, am besten noch einmal alle Punkte und vor allem die Versionen checken – unter Mountain Lion 10.8.2 mit MAMP 2.1.1 funktioniert es bei mir. Ansonsten könnte es an folgenden Punkten liegen:

  • Firewall blockiert den Versand. Zum Beispiel die interne Firewall oder Little Snitch blockieren den smtp-Prozess – zum testen am besten die Firwall ausschalten
  • Mail landet im SPAM-Ordner. Das liegt daran, das dem SPF eine Absender-Adresse vorgegaukelt wird – am besten im SPAM-Ordner nachsehen

Kommentar verfassen