PHP Prob "mail function"

phpman

B1G-Software-Kunde
#1
Hallo zusammen,

ich hab ein script wo bei der Erfolgreichen Anmeldung eine EMail an den User raus gehen soll. Nun wollte/will ich das local alles testen erhalte aber von XAMP folgenden Fehler:

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 C:\Programme\xampp\htdocs\script\anmeldung.php on line 157

in zeile 136 - 174 steht:

####### Daten in die Datenbank speichern #######
$sql="INSERT INTO ".$_T_USERS." VALUES (
'',
'".$nick."',
'".$key."',
'".$email."',
'".$icq."',
'".$homepage."',
'".$email_frei."',
'0',
'".date("Ymd")."',
'".time()."',
'".$_IP."',
'0',
'0',
'0',
'0'
)";
$ergebnis=mysql_query($sql,$v);
if ($ergebnis) {
# Speicherung erfolgreich
if (mail($email, $subject, $text,$header)) { ---> das ist zeile 157
# Email verschickt
echo "<br>";
table_open(400,0,"Anmeldung erfolgreich");
echo "<tr><td>Es wurde gerade eine Email mit dem Passwort an Ihre Email-Adresse (".$email.") geschickt.<br>Bitte loggen Sie sich unbedingt innerhalb der nächsten ".$_AKTIVIERUNG." Tage ein, sonst wird Ihr Account automatisch gelöscht.<br><br><a href='index.php'></a><br><br></td></tr>";
table_close();
}
else {
# Email nicht verschickt
echo "<br>";
mysql_query("DELETE FROM ".$_T_USERS." WHERE nick='".$nick."'",$v);
table_open(400,0,"Anmeldung fehlgeschlagen");
echo "<tr><td>Leider konnte die Email mit dem Passwort nicht abgeschickt werden.<br>Bitte melden Sie sich erneut an.<br><br><a href='$_SELF'>zurück zur Anmeldung</a><br><br></td></tr>";
table_close();
}
}
else {
# Speicherung misslungen


wie muss ich denn XAMP umbiegen dass das geht ?

Hoffe Ihr könnt mir weiterhelfen.. :))

Vielen Dank.

Gruß, PHPman
 

patrick

Staff member
B1G-Software-Kunde
#2
Tutorial: Interpretieren einer Fehlermeldung

Schritt 1:
Fehlermeldung lesen
Code:
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 C:\Programme\xampp\htdocs\script\anmeldung.php on line 157
Ggf. übersetzen lassen: http://babelfish.altavista.com
Code:
Warnung: mail() [ function.mail ]: Konnte an mailserver an "localhost" Tor 25 anschließen, Ihr "smtp" und "das smtp_port" überprüfen, das in nicht php.ini oder ini_set() in C:\Programme\xampp\htdocs\script\anmeldung.php auf Linie 157 benutzen einstellt
Alles klar?
Naja, Mist. Plan B, im Forum fragen. :D


---
Du musst in der php.ini (findest du im XAMPP-Verzeichnis irgendwo) den SMTP-Server deines Providers einstellen und XAMPP neu starten.
 

phpman

B1G-Software-Kunde
#3
Hallo Patrick,

ich nehm´s Dir mal nich krumm :D :D

patrick said:
Tutorial: Interpretieren einer Fehlermeldung

Schritt 1:
Fehlermeldung lesen
Code:
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 C:\Programme\xampp\htdocs\script\anmeldung.php on line 157
Ggf. übersetzen lassen: http://babelfish.altavista.com
Code:
Warnung: mail() [ function.mail ]: Konnte an mailserver an "localhost" Tor 25 anschließen, Ihr "smtp" und "das smtp_port" überprüfen, das in nicht php.ini oder ini_set() in C:\Programme\xampp\htdocs\script\anmeldung.php auf Linie 157 benutzen einstellt
Alles klar?
neee :-( denn lesen konnte ich den Fehler auch schon vorher :D

patrick said:
Naja, Mist. Plan B, im Forum fragen. :D
Dann mach ich das mal :)

patrick said:
---
Du musst in der php.ini (findest du im XAMPP-Verzeichnis irgendwo) den SMTP-Server deines Providers einstellen und XAMPP neu starten.
[/QUOTE]

hmm was denkst Du was ich schon die ganze Zeit versucht hab ?

die PHP.ini sieht nun so aus und es geht auch net:

[mail function]
; For Win32 only.
;SMTP = localhost
SMTP = smtp.mydomain.com
smtp_port = 25

jetzt verzweifel ich aber langsam :-(

Kann ich das auch irgendwie umbiegen und anders machen ?

Danke Dir schonmal.

Gruß, Harald
 

patrick

Staff member
B1G-Software-Kunde
#4
Was für eine Fehlermeldung kriegst du denn jetzt, nachdem du die PHP.ini angepasst und Apache neu gestartet hast?
 

modig

B1G-Software-Kunde
#5
Huhu,
wenn Du kein 'Open-Relay' betreibst:)D), wird's schwierig(er):
php-faq.de/q/q-mail-server.html said:
Antwort von Kristian Köhntopp
Wenn man in Windows keinen eigenen Mailserver hat, den man zum Mailversand nutzen kann, muss man sich einen installieren. Die folgenden Produkte wurden in der Newsgroups zu diesem Zweck genannt:

  • Argosoft Mailserver
  • Hamster
  • Mercury Mail Transport System

Im Prinzip kann man auch den Mailserver des Providers benutzen; hierzu ist in der php.ini im Abschnitt [mail function] bei SMTP der SMTP-Server des Providers und bei sendmail_from die eigene EMail-Adresse bei diesem Provider anzugeben. Allerdings kann es hier wegen SMTP-after-POP oder gesichertem SMTP (SMTP-AUTH-Login) Probleme geben.
Mercury (Download) kann ich empfehlen, lief bei mir jahrelang (wg. DSL-Mangel) zuverlässig und stabil.
Karsten
 
Last edited:

phpman

B1G-Software-Kunde
#6
Hallo,

Mercury Mail ist auch Bestandteil des XAMPP Pakets nur bekomme ich dann immer noch nen Fehler:


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 C:\Programme\xampp\htdocs\scriptbeta\anmeldung.php on line 157


In der PHP.INI hab ich "localhost" stehen lassen es ist aber egal auch wenn ich meine lokale IP verwende kommt der selbe fehler.

Wie kann ich denn diesen Fehler welchen un ja von Mercury Mail zu kommen scheint beseitigen ?

Gruß, Harald
 

UNC

B1G-Software-Kunde
#8
modig said:
Huhu Harald,
was sagt denn:
Code:
telnet localhost 25
auf der Konsole (Eingabeaufforderung)?

Karsten
Vermutlich:
Code:
Verbindungsaufbau zu localhost...Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 25: Verbinden fehlgeschlagen
 

modig

B1G-Software-Kunde
#9
UNC said:
Vermutlich:
Code:
Verbindungsaufbau zu localhost...Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 25: Verbinden fehlgeschlagen
Dann wär's an der Zeit, die 'mercury_start.bat' mal auszuführen... :D

Dann sollte das die Antwort sein:



Karsten
 
Last edited:
#10
Abend,

Ich hab die gleiche Fehlermeldung nur das Mercury bereits läuft, ich kann von der Mercury Software aus auch mit dem postmaster erfolgreich Emails verschicken, aber php will auf prot 25 net connecten...

Die Firewall ist so eingestellt das Port 25 durchgelassen wird..
Aber das merkwürdigste kommt erst, wenn ich über telnet port 25 anspreche bekomm ich die Meldung : "Verbindungsaufbau zu localhost:25...Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 23: Verbinden fehlgeschlagen"

Kann mir jemmand erklären wie der von port 25 plötzlich auch 23 kommt ?
 
Last edited:
Top