× Startseite
Mail - postfix für macOS, MAMP und Hugo benutzen

Mail, macOS - Postfix Konfiguration für MAMP Webserver

macOS - Postfix Configuration for MAMP

Die PHP Funktion mail() setzt bei einem lokalen Webserver eine funktionierende Postfix oder ähnliche Mail Server Konfiguration voraus. Diese Anleitung hilft dabei Postfix unter macOS zu konfigurieren. Für den populären PHPMailer wird die Postfix Konfiguration und auch die Änderung in der MAMP php.ini nicht benötigt. Es kommt halt auf den Einsatzzweck für die Mail Anwendung an.

Ohne die Anleitung von Zulhilmi Zainudin aus Kuala Lumpur, die er im Februar 2020 auf GitHub Gist veröffentlicht hat, wäre das mit meiner macOS Postfix MAMP Konfiguration nichts geworden - vielen Dank dafür. Originalbeitrag - How to send e-mail on Mac using MAMP (not PRO version) and Hotmail SMTP .

Warum brauche ich einen lokalen E-Mail Server für mein Hugo Projekt?

In Deutschland gibt es rechtliche Vorgaben für Domain-Inhaber. Jeder muss ein Impressum zur Verfügung stellen. Neben der Adresse des Domain-Inhabers muss eine E-Mailadresse und eine Telefonnummer des Inhabers angegeben werden. Da ich meine Telefonnummer nicht im Internet veröffentlichen möchte, muss ich stattdessen ein Kontaktformular zur Verfügung stellen. Der Gesetzgeber geht davon aus, dass nicht jeder einen Mail-Provider hat und deshalb das Kontaktformular als Telefonnummer Ersatz zur Verfügung gestellt werden muss.

Hugo ist ein statischer Website Generator. Die Dynamik für ein Kontaktformular erhalte ich für die Entwicklung durch die Integration des MAMP Servers, der auch PHP zur Verfügung stellt. Es gibt externe Dienste die Kontaktformulare zur Integration anbieten. Ich möchte aber nicht auf externe Dienstleister, die Kosten spielen auch eine Rolle, angewiesen sein. Die rechtlichen Vorgaben der EU, für externe Dienstleistungen außerhalb der EU, sind sehr umfangreich bis unmöglich zu erfüllen.

Konfiguration - Postfix macOS

Meine aktuelle Betriebssystemversion ist macOS Big Sur Version 11.5.1 (Intel). Die zurzeit aktuellste MAMP-Version ist 6.3, als PHP-Version benutze ich 7.4.12. Die folgende Konfiguration hat mein System nicht kaputt gemacht und Mail läuft auch noch ohne Probleme.

Zulhilmi Zainudin hat in seiner Anleitung geschrieben “You’ll see a lot of warnings in your Terminal throughout this process. That’s normal.” Ich hatte nur einen Fehler und der wurde durch die main.cf und den Eintrag inet_protocols = ip4 erzeugt. Nachdem ich diese hinzugefügte Zeile entfernt habe wurde kein Fehler mehr angezeigt. In dieser Dokumentation habe ich den Eintrag nicht übernommen.

Der in dieser Anleitung benutzte Terminal GNU nano 2.0.6 Editor bietet zum Speichern die Tastenkombination ctrl O an. Verlassen können Sie den Editor mit ctrl X.

/etc/postfix/main.cf

Öffnen Sie ein Terminal und los gehts …

sudo nano /etc/postfix/main.cf

Am Ende der Datei folgende Zeilen einfügen:

# MAMP postfix data
myorigin = your-smtp-server.com
myhostname = xxxx.your-smtp-server.com
relayhost = xxxx.your-smtp-server.com:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
smtp_tls_security_level=encrypt
tls_random_source=dev:/dev/urandom

xxxx.your-smtp-server.com - geben Sie den von Ihrem Provider genannten SMTP Hostnamen an. In Apple Mail wird dieser auch benutzt.

/private/etc/postfix/master.cf

sudo nano /private/etc/postfix/master.cf

Bei der OS-Version die Zulhilmi Zainudin zu dem Zeitpunkt benutzt hat, musste das Kommentarzeichen vor dem tlsmgr noch entfernt werden. Bei meiner macOS Version war das nicht nötig, da die Zeile nicht auskommentiert war.

tlsmgr    unix  -       -       n       1000?   1       tlsmgr

/etc/postfix/sasl_passwd

sudo nano /etc/postfix/sasl_passwd

Das Passwort wird in der Datei sasl_passwd gespeichert. Die folgende Zeile einfach mit Ihren Daten hinzufügen.

xxxx.your-smtp-server.com:587 my-mailadrdess@example.com:your-secure-smtp-password

Diverse andere Anweisungen

Die folgenden Anweisungen müssen nacheinander, so wie angegeben im Terminal ausgeführt werden:

sudo chmod 600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
sudo launchctl stop org.postfix.master
sudo launchctl start org.postfix.master
sudo postfix upgrade-configuration
sudo postfix reload
sudo postfix flush

Konfiguration - MAMP

Die php.ini der benutzten PHP-Version muss jetzt angepasst werden. In meinem Fall habe ich php[version.you.use] durch php7.4.12 ersetzt. Auch auf deutschen Systemen funktioniert der Applications Pfad. macOS arbeitet intern mit der amerikanischen Version und zeigt nur auf der Oberfläche die in die jeweilige Landessprache übersetzte Bezeichnung an. Die mail function beginnen bei dieser Version ab Zeile 1002.

nano /Applications/MAMP/conf/php[version.you.use]/php.ini

Für macOS muss die php.ini Mail Konfiguration wie folgt aussehen:

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = your-mail-address@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i -f your-mail-address@example.com

Nach dem Speichern der php.ini sollten Sie den MAMP Server neu starten.

SMTP Log als Stream anzeigen

Bei Problemen kann das Log von macOS in einem Terminal Window in real-time angezeigt werden. Auch Fehler werden im log stream angezeigt.

sudo log stream –predicate ‘(process == “smtpd”) || (process == “smtp”)’ –info

Verschicken Sie eine Mail in einem anderen Terminal Window und beobachten den Log Stream. Die Anweisung für das Terminal lautet:

date | mail -s test your_another_email@example.com

Fazit

Noch einmal der Hinweis - wenn Sie PHPMailer einsetzen möchten, statt der einfachen mail() PHP Funktion, benötigen Sie diese Konfiguration nicht.

Das Ganze funktioniert bei mir lokal. Da ich kein Administrator bin und auch keine Ambitionen habe mich in diesen Bereich einzuarbeiten, kann ich auch keine Fragen in Bezug auf die oben beschriebenen Anweisungen beantworten.

Linkliste zu diesem Beitrag

- Update 02. Aug. 2021 |
5 Minuten Lesezeit
0
Dieser Beitrag wurde mit der Hugo-Version 0.85.0 erstellt.

Kommentare werden bei deutscher Spracheinstellung nicht in der englischen Variante der Webseite angezeigt und umgekehrt.

© 2021 - Frank Kunert  -  Ich über mich
Ein Service von webdienste-kunert.de