it-swarm.com.de

Verbindung zum Mailserver an "localhost" -Port 25 fehlgeschlagen

Ich erhalte immer wieder diese Fehlermeldung, wenn ich versuche, eine E-Mail in PHP zu senden:

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:\wamp\www\dressoholic\register.php on line 50

meine php.ini sieht so aus:

[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 = [email protected]

Ich benutze meinen Laptop als Server. Was mache ich falsch? Vielen Dank.

63
Loolooii

Sie müssen lokal einen Mailserver betreiben. Wenn dies Unix ist, aktivieren Sie sendmail. Wenn dies Windows ist, installieren Sie die Komponente Simple Mail Transfer Server (nicht sicher, ob der Name korrekt ist) von IIs. Z.B. Folgen Sie für Windows 2003 diesen Anweisungen: http://msdn.Microsoft.com/en-us/library/8b83ac7t.aspx

29
MK.

Zum Versenden von Mails wird die PHP-Mail-Funktion verwendet. Für die E-Mail-Funktion ist jedoch ein SMTP-Server zum Senden von E-Mails erforderlich. Wir müssen den SMTP-Host und den SMTP-Port in der php.ini-Datei erwähnen. Nach erfolgreicher Konfiguration des SMTP-Servers werden E-Mails erfolgreich über PHP-Skripte versendet.

20
Rubin Porwal

Unter Windows enthalten fast alle AMPP-Pakete (Apache, MySQL, PHP, PHPmyAdmin) keinen Mail-Server (aber fast alle nackten Linux-Pakete haben einen!). Wenn Sie also PHP unter Windows verwenden, müssen Sie einen Mailserver einrichten!

Imo das beste und einfachste Werkzeug ist dieses: http://smtp4dev.codeplex.com/

SMTP4Dev ist ein einfaches Mail-Server-Tool mit einer Datei, das die gesendeten Mails sammelt (sodass keine echten Mails gesendet werden, sondern nur für die Entwicklung aufbewahrt werden). Perfektes Werkzeug.

19
Sliq

Wenn Sie Ihre Anwendung nur auf localhost ausführen und es noch nicht live ist, ist es meiner Meinung nach sehr schwierig, E-Mails mit dieser Funktion zu senden.

Sobald Sie Ihre Bewerbung online gestellt haben, sollte dieses Problem meines Erachtens automatisch behoben werden. Aber ich denke, ini_set() hilft Ihnen, die Werte in php.ini Während der Laufzeit zu ändern.

9
NullPoiиteя

Erstens müssen Sie auf Ihrem Localhost kein SMTP verwenden. Wenn Sie diesen Localhost-Eintrag in den DNS-Namen des MTA von Ihrem ISP-Provider ändern (der Ihnen das Weiterleiten von E-Mails ermöglicht), funktioniert er sofort Herumspielen mit Ihrem eigenen E-Mail-Service. Versuchen Sie einfach, die SMTP-Server Ihres Providers zu verwenden, sie funktionieren sofort.

8
Glenn Plas

Die PHP-Mail-Funktion kann E-Mails in zwei Szenarien senden:

ein. Versuchen Sie, E-Mails über Unix zu senden sendmail program Unter Linux führt es das Programm "sendmail" aus, setzt alle Parameter auf sendmail und das alles.

OR

b. Stellen Sie eine Verbindung zu Mailserver her (verwenden Sie das SMTP-Protokoll und Host/Port/Benutzername/Pass von php.ini) und versuchen Sie, eine E-Mail zu senden.

Wenn PHP keine Verbindung zum E-Mail-Server herstellen kann, wird eine Warnung ausgegeben (und Sie sehen dies in Ihren Protokollen). Installieren Sie den SMTP-Server auf Ihrem lokalen Computer, oder verwenden Sie einen verfügbaren Server. Wie Sie SMTP einrichten/konfigurieren, erfahren Sie auf php.net

3
Maxim