PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mailserver einrichten



Spartan
02.01.11, 01:54
Die Aufgabe:
Ich habe ein Formular in PHP erstellt und möchte nun die dort eingebenen Daten an meine E-Mail-Adresse senden. Dies aber zuvor in einer lokalen Umgebung testen, bevor ich die Seite bei meinem Provider hoste. Dazu habe ich Xampp installiert, das Mercury als Mailserver mitbringt.

Das Problem:
Mercury wird bei der Installation von Xampp nicht konfiguriert. Das PHP Script funktioniert zwar, aber die Anweisung

mail($to, $subject, $msg);
generiert im Browser die Fehlermeldung:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set().....
In der php.ini steht dazu folgender Eintrag:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
Irgendwie komme ich mit dem smtp server nicht klar. Wenn ich aus der Admin-Oberfläche von Mercury eine Mail versenden will, dann schickt er sie nicht raus und was ich nun genau in der php.ini eintragen muss, damit das Webformular funktioniert, weiß ich auch nicht.

Vargr
02.01.11, 02:22
Mal dumm gefragt ... Firewall?

Spartan
02.01.11, 10:00
Lediglich die Windows Firewall, Port 25 ist Mercury zugeteilt und frei. Außerdem geht ja um eine ausgehende Verbindung und das vorübergehende Abschalten der Firewall brachte auch nichts. Es handelt sich hierbei hundertpro um ein Konfigurationsproblem und das ist wahrscheinlich ganz simpel zu lösen, wenn man schon Erfahrung mit Mailservern hat. Ich würde mir auch ein anderes Programm empfehlen lassen, sofern es sich intuitiv unter Windows einrichten lässt.

Ich kann zwar eine Testmail unter Mercury verfassen, diese wird allerdings nicht versendet. Obwohl ich den Dienst unter Xampp gestartet habe, zeigt Mercury lediglich den HTTP und IMAP4 Server als ready, POP3 und SMTP jedoch als offline an. Das sieht dann so aus:

http://img688.imageshack.us/img688/2228/mercuryb.jpg (http://img688.imageshack.us/i/mercuryb.jpg/)

Alith Anar
02.01.11, 10:13
Mit dem Mercury hab ich keine Erfahrungen.

Wenn du ein Windows XP im Einsatz hast, dort kannst du unter den WindowsKompontenen auch einen SMTP-Server zusätzlich installieren. (zusammen mit dem IIS)

http://www.nickles.de/c/s/emails-verschicken-von-der-kommandozeile-222-1.htm

Spartan
02.01.11, 11:08
Naja, ich habe Windows 7 und der Server sollte schon unter Apache laufen.

/edit: es geht ja auch um die php.ini. Laut php.net müsste die Syntax für den entsprechenden Abschnitt


; For Win32 only.
;sendmail_from = me@example.com

lauten. Mercury hat einen admin-account postmaster@localhost angelegt. wenn ich das in die ini eintrage, tut sich aber nichts.

In der sendmail steht wiederum:


# Mercury
account Mercury
host localhost
from postmaster@localhost
auth off
......
# Set a default account
account default : Mercury

Irgendwie muss sich das doch zusammenbringen lassen. :???:

Spartan
02.01.11, 12:38
Noch als Ergänzung:

Ich kann über die Mercury-Oberfläche E-Mails lokal zwischen den accounts newuser@localhost und postmaster@localhost versenden. Diese werden im Mercury/Mail/Admin Ordner als *.cnm Dateien gespiechert. Soweit funktioniert es schon mal.

Im nächsten Schritt hatte ich in Thunderbird einen Mailaccount newuser@localhost, SMTP-Server 127.0.0.1, angelegt. Das funktioniert allerdings nicht. Ich kann damit weder lokale noch externe Mails versenden.

Im PHP Script für die Auswertung des Webformulars habe ich die Variable

$to = 'newuser@localhost';
deklariert und damit erhalte ich auch mails, aber der Versand an externe Adressen funktioniert noch nicht.