Um die Mail-Funktionen von PHP lokal testen zu können, benötigt
man einen SMTP-Server. Mercury-Mail wird mit XAMPP mitgeliefert
- daher eine Kurzanleitung für die Konfiguration. (Installiert
wurde Mercury-Mail bereits durch XAMPP). Bevor wir allerdings Mercury-Mail
verwenden können sollte der SMTP-Server von Windows (IIS-Manager)
beendet werden.
Nochmals schriftlich zusammengefasst:
Configuration/Mercury Core Module klicken und im Textfeld "Internet
Name for this system" localhost eingeben.
Unter "Local domains" ebenfalls localhost eingeben,
wenn nicht schon vorhanden.
Configuration/MercuryS SMTP Server klicken und im Textfeld "Announce
myself as" localhost eingeben.
Register "Connection Control" wählen und den
Haken bei "Do not permit SMTP relaying of non-local mail"
setzen.
Configuration/MercuryE SMTP Client" klicken und im Textfeld
"Announce myself as" localhost eingeben und im Textfeld
"Name Servers" die IP-Adresse, also 127.0.0.1 von localhost
eingeben.
Mail-Funktion
mail ( string to, string subject, string message [, string additional_headers
[, string additional_parameters]] )
mail() veschickt die Nachricht in message an den Empfänger
in to. Mehrere Empfänger können angegeben werden, indem
ein Komma zwischen die Adressen gesetzt wird. E-Mails mit angehängten
Dateien und speziellen Inhaltstypen können mit dieser Funktion
gesendet werden. Dies wird durch MIME-Kodierung ermöglicht.
mail() gibt TRUE zurück, wenn die Mail erfolgreich für
den Versand akzeptiert wurde, sonst FALSE.
Beispiel 1. Verschicken von Mail. <?php mail("joecool@example.com", "Betreff", "Zeile
1\nZeile 2\nZeile 3"); ?>
Wenn ein vierter String-Parameter übergeben wird, dann wird
dieser an das Ende des Mail-Headers gehängt. Mehrfache Header
werden durch einen Zeilenumbruch getrennt.
Anmerkung: Sie müssen die Header mit \r\n trennen, auch wenn
einige Unix-MTAs automatisch \n durch \r\n ersetzen (was zu doppeltem
\r führt, wenn \r\n verwendet wird).
Beispiel 2. Verschicke Mail mit zusätzlichen Headern. <?php mail("nobody@example.com", "Betreff", $message, "From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" . "Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" . "X-Mailer: PHP/" . phpversion()); ?>  
Achtung SPAM!
Falls du ein Formular zum Versenden von Mails verwendest, solltest
du unbedingt vor dem Mailversand durch PHP prüfen ob nur eine
e-mail-Adresse eingegeben wurde. Spam-Spider und -Robots verwenden
sonst deine Scripte zum Versenden von SPAM. E-Mail-Adressen können
deshalb von Providern gesperrt werden!