Konfiguration php.ini für den Mail Versand

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Konfiguration php.ini für den Mail Versand

Postby Kieler » 22. September 2008 17:52

Hier ist bestimmt schon irgendwo die Konfiguration für den Mail Versand über XAMPP beschrieben.
Muss nur in der apache/bin/php.ini die Konfiguration angepasst werden, oder auch in der sendmail.ini ?

Ich benutze Outlook Express über 1und1 .

Danke für die Information.

Gruß
Kieler
Kieler
 
Posts: 7
Joined: 22. September 2008 17:44

Postby glitzi85 » 22. September 2008 18:01

Hallo,

OE hat damit erstmal nichts zu tun. Es gibt zwei Möglichkeiten mit PHP mails zu verschicken unter Windows, die eine ist den mitgelieferten Mercury Mailserver zu verwenden. Der empfängt aber in der Standardausstattung nur Mails für localhost und leitet auch keine weiter. Zum testen würde das aber reichen. Wenn du wirklich Mails über 1&1 versenden willst, gibt es zwei Möglichkeiten. Mercury so zu konfigurieren, dass er sich mit deinen Anmeldedaten beim 1&1 Server anmeldet und die Mails so einliefert. Ich hab aber keine Ahnung wie das geht. Die zweite Variante ist über die sendmail für Windows. Im XAMPP-Ordner gibt es einen Ordner sendmail, darin gibt es eine sendmail.ini, in der kannst du deine Zugangsdaten für 1&1 eintragen. Folgende Daten sind wichtig:

smtp_server= Server von 1&1
auth_username= Benutzername
auth_password= Passwort

Die zwei letzten Einstellungen sind auskommentiert, die ; davor bitte entfernen. Dann schaust du in der php.ini nach SMTP und smtp_port, beide Einstellungen deaktivierst du indem du ein ; vor jede Zeile setzt. In der Zeile sendmail_path entfernst du dafür das ; vorne dran. Als Parameter sollte der Pfad zur sendmail.exe mit -t eingestellt sein. Kontrollier ob der Pfad stimmt. Bei mir sieht das z.B. so aus:

Code: Select all
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"


Danach den Apachen neu starten und einfach mal ne Mail an dich selber schicken mit PHP.

Sehe grad, dass das in der FAQ ja schon drin ist: http://faq.kwm-web.info/doku.php/php#mail

mfg glitzi
Last edited by glitzi85 on 22. September 2008 18:06, edited 1 time in total.
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby Wiedmann » 22. September 2008 18:02

Hier ist bestimmt schon irgendwo die Konfiguration für den Mail Versand über XAMPP beschrieben.

Bei der Häufigkeit der Fragen in der FAQ (auch wenn die wohl niemand liest...).

Muss nur in der apache/bin/php.ini die Konfiguration angepasst werden, oder auch in der sendmail.ini ?

Beides:
- PHP muss wissen dass es überhaupt "sendmail" nehmen soll
- und "sendmail" muss wissen, über welchen Server mit welchen Zugangsdaten die Mails verschickt werden.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Kieler » 22. September 2008 18:54

Vielen Dank für den Hinweis auf die Antwort.

Ich habe diese Einstellungen wie in der FAQ beschrieben bereits so eingestellt.
Um deckungsgleich zu sein, habe ich auch das dort verwendete Beispiel(logischerweise mit meinen Daten) zum Versand gebracht.

Das ist dann die Fehlermeldung!
Code: Select all
Warning: mail() [function.mail]: Failed to connect to mailserver at "mail.1und1.de" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Programme\xampp\htdocs\test.php on line 7
Kieler
 
Posts: 7
Joined: 22. September 2008 17:44

Postby glitzi85 » 22. September 2008 19:03

Hallo,

woher hast du denn diese Einstellungen? Die korrekte Versandadresse für 1&1 ist smtp.1und1.de

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby Kieler » 22. September 2008 19:19

Tja Glitzi,

das seh ich wohl auch so. Ich habe keine Einstellung gefunden, in der vor 1und1 mail steht. Bei mir steht smtp.....

Änderung: Der Fehler lag an einem ungenügenden Neustart. Damit wurden die Daten nicht aktualisiert.
Aber ich bekomme keine E-Mail!

Und noch ein Nachtrag. Hab den Fehler gefunden. In sendmail stand smpt statt smtp, und so funktioniert das natürlich nicht.
Nun geht alles so wie es sein soll.

Vielen Dank.

Kieler

PS: Die Erklärung in der oben benannten FAQ entspricht nicht der aktuellen Version.
Last edited by Kieler on 22. September 2008 19:45, edited 1 time in total.
Kieler
 
Posts: 7
Joined: 22. September 2008 17:44

Postby Wiedmann » 22. September 2008 19:44

Failed to connect to mailserver at "mail.1und1.de" port 25,

Bei dieser Fehlermeldung benutzt PHP kein "sendmail".

Änderung: Der Fehler lag an einem ungenügenden Neustart. Damit wurden die Daten nicht aktualisiert.

Oder wie ist dein PHP jetzt genau eingestellt (siehe phpinfo()).

Aber ich bekomme keine E-Mail!

Sorfern jetzt wirklich "sendmail" benutzt wird, kann man dort auch ein Error- und Debug-Log aktivieren.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Kieler » 22. September 2008 19:48

Hallo Wiedmann,

Durch die Überprüfung mit info bin ich dahintergekommen. Die Fehlermeldung sagt ja deutlich wo der Fehler ist, und hier war es eben ein Buchstabendreher, addiert mit ungenügender Aktualisierung.

Ein kluger Mensch sagte einmal. Die Fehler macht immer der Mensch, und nicht die Maschine!

Wie wahr wie wahr! :D :D :idea:

Die beiden Logs hab ich aktiviert!
Kieler
 
Posts: 7
Joined: 22. September 2008 17:44

Postby Kieler » 22. September 2008 21:42

Ich habe nun doch noch eine Frage gefunden.
Der Mailversand funktioniert einwandfrei, aber ich habe keinen Absender. Brauch ich eigentlich auch nicht, denn die Mail kommt aus einem Formular über ein php script.

Wenn ich das über den normalen Providerserver laufen lasse, bekomme ich die entsprechende Meldung. Je nach Anbieterprogramm unterschiedlich.

Wenn ich nun solche Geschichten über den localhost austeste, müsste ich als Absender doch auch den Localhost bezeichnen können?

Gruß
Kieler
Kieler
 
Posts: 7
Joined: 22. September 2008 17:44

Postby glitzi85 » 22. September 2008 22:04

Wenn du es nach der FAQ aufgesetzt hast, hast du definitiv einen Absender, nämlich den, den du als force_sender eingetragen hast. Ohne den nimmt der Mailserver i.A. auch keine Mails an.

Dass in deinem Programm kein Name angezeigt wird liegt daran, dass es zwei verschiedene Absender gibt. Einmal den, der im SMTP-Dialog in der FROM:-Zeile angegeben wird. In deinem Fall ist das die Adresse aus force_sender. Dann gibt es noch die From-Zeile im Mailheader. Dieser Teil ist dafür verantwortlich, was im Zielprogramm angezeigt wird. Sollte dieser Header weggelassen werden, steht da bei mir z.B. Undisclosed Recipient. Das selbe Spiel gilt übrigens für den To-Header. Nur was während der SMTP-Sitzung angegeben wird entscheidet darüber, an wen die Mail geht. In der Mail selber kann ein ganz anderer Empfänger angegeben sein. Das ist auch der Grund, warum sich E-Mails so einfach fälschen lassen.

Näheres dazu findest du in der PHP-Doku: http://de2.php.net/manual/en/function.mail.php

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby Kieler » 22. September 2008 23:18

Danke für den Beitrag.
Weitergeholfen hat mir das nicht wirklich.

Aber ich mache nun auch Schluss. Nach 16 Stunden PC geht auch mein Hirn gerade nicht mehr.

Gruß
Kieler
Kieler
 
Posts: 7
Joined: 22. September 2008 17:44

Postby Kieler » 23. September 2008 10:23

Guten Morgen,

um weitere Irritationen zu vermeiden will ich kurz ein paar Fakten erläutern.

Die Mail um die es geht wird aus einem Formular heraus erzeugt. Ein User befindet sich auf einer Website und trägt in ein vorhandenes Formular Daten ein. Adresse, Telefon, E-Mail und eine Nachricht.
Wenn alle Daten richtig eingetragen sind, bringt der User die Daten über "Senden" (submit) zum Versand. Dazu wird über ein php.script der Versand dieser Daten an eine im Script vorgeschriebene E-Mail Adresse weitergeleitet.
Ein Absender mit E-Mail Adresse ist also nicht vorhanden.
Das Script erzeugt eine Mail die die Daten an die vorgeschriebene Mailadresse schickt. Läuft das über den Provider Server, dann erscheint in der Mail als Absender, je nach Plattform, eine entsprechende Meldung. Zum Beispiel CGI-Mailer, oder der Name der Oberfläche.

Beim Testversand über Xampp bleibt das Feld leer!

Gruß
Kieler
Kieler
 
Posts: 7
Joined: 22. September 2008 17:44

Postby Wiedmann » 23. September 2008 10:38

Das Script erzeugt eine Mail die die Daten an die vorgeschriebene Mailadresse schickt. ... Beim Testversand über Xampp bleibt das Feld leer!

Dann solltest du den Author des Scriptes fragen, warum das Feld (Absender) leer bleibt, bzw. wo und wie dieses definiert wird.

"sendmail" liefert auch nur weiter, was es vom Script geliefert bekommt (kann man z.B. im debug.log vom "sendmail" sehen)

Du kannst natürlich auch einfach mal selbst ein kurzes Testcript schreiben, um zu sehen das das wirklich tut.

BTW:
Zum Beispiel CGI-Mailer, oder der Name der Oberfläche.

Ist "CGI-Mailer" nicht in Perl? (Da du hier nach PHP-Einstellungen gefragt hast)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby jay.ka » 29. October 2008 16:16

Hallo zusammen!

Ich muss das Thema leider nochmals aufrollen. Habe alles nach Vorschrift gemacht:

1. In der "C:\xampp\apache\bin\php.ini" steht:

[mail function]
; For Win32 only.
;SMTP =mail.gmx.net
;smtp_port = 25

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

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"


2. In der sendmail.ini steht:

smtp_server=mail.gmx.net
smtp_port=25
auth_username=xxx@gmx.de
auth_password=yyyy
pop3_server=pop.gmx.net
pop3_username=xxx@gmx.de
pop3_password=yyyy
force_sender=xxx
hostname=


3. Der php-code sieht so aus:

<?php
$to = 'testadresse@gmx.net';
$subject = 'Testmail';
$message = 'Hallo, dies ist ein Test.';
$headers = 'From: xxx <xxx@gmx.de>';

mail($to, $subject, $message, $headers);
?>



Es kommt partout keine E-Mail an. Woran kann es denn noch liegen? Ich bin am verzweifeln, es wird keinerlei Fehlermeldung, weder im Browser angezeigt, noch im Ordner sendmail abgelegt! :cry:

Bin für jeden Tip dankbar!

MfG

jay.ka
jay.ka
 
Posts: 5
Joined: 29. October 2008 16:04

Postby Wiedmann » 29. October 2008 17:44

Code: Select all
pop3_server=pop.gmx.net
pop3_username=xxx@gmx.de
pop3_password=yyyy

Bei GMX hat man (normal) kein SMTP-after-POP, weshalb man dieses nicht aktiviert.

es wird keinerlei Fehlermeldung, ... noch im Ordner sendmail abgelegt!

Dazu müsste man in der "sendmail.ini" auch die Logdateien aktivieren.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Next

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 10 guests