Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt meine PHP-Mail()-Funktion unter Windows 8 fehl und wie kann ich den Fehler „Verbindung zum Mailserver an Port 25 von „localhost' konnte nicht hergestellt werden' beheben?

Warum schlägt meine PHP-Mail()-Funktion unter Windows 8 fehl und wie kann ich den Fehler „Verbindung zum Mailserver an Port 25 von „localhost' konnte nicht hergestellt werden' beheben?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-27 18:20:14957Durchsuche

Why is my PHP mail() function failing on Windows 8, and how can I fix the

Fehlerbehebung beim E-Mail-Versand mit der PHP-Mail-Funktion unter Windows 8

Wenn Sie auf einen Fehler wie „Verbindung zum Mailserver unter „localhost“ konnte nicht hergestellt werden“ stoßen Port 25“ bei Verwendung der PHP-Funktion mail() unter Windows 8, weist dies auf ein Problem mit den SMTP-Servereinstellungen hin. So beheben Sie das Problem:

Um den E-Mail-Versand über PHP unter Windows 8 zu aktivieren, müssen Sie einen SMTP-Server installieren und konfigurieren. Von den drei genannten Optionen (sendmail, msmtp und ssmtp) wird sendmail häufig auf Windows-Systemen verwendet.

Schritte zum Konfigurieren von Sendmail unter Windows 8:

1. Installieren Sie Apache, PHP und Sendmail

  • Stellen Sie sicher, dass Apache, PHP und Sendmail auf Ihrem System installiert sind.

2. Ändern Sie die php.ini-Einstellungen

  • Öffnen Sie die php.ini-Datei (in Ihrem PHP-Installationsverzeichnis) und nehmen Sie die folgenden Änderungen vor:
SMTP=smtp.your-smtp-server.com
smtp_port=your-smtp-server-port (usually 587 or 25)
sendmail_from = [email protected]
sendmail_path = "\"C:\path-to-sendmail\sendmail.exe\" -t"

3. Konfigurieren Sie sendmail.ini

  • Erstellen Sie eine Datei mit dem Namen sendmail.ini im selben Verzeichnis wie php.ini und fügen Sie den folgenden Inhalt hinzu:
smtp_server=smtp.your-smtp-server.com
smtp_port=your-smtp-server-port
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=your-smtp-server-password
[email protected]

4. Ersetzen Sie sendmail_path in php.ini (falls erforderlich)

  • Wenn es eine andere sendmail_path-Einstellung in der php.ini-Datei gibt (z. B. sendmail_path="C:xamppmailtodiskmailtodisk.exe"), kommentieren Sie diese out.

Hinweis:

  • Ersetzen Sie „your-smtp-server.com“ und „your-smtp-server-port“ durch entsprechende Werte für Ihren SMTP-Server.
  • Aktualisieren Sie in der sendmail.ini-Datei die E-Mail-Adressen und das Passwort mit Ihrem tatsächlichen SMTP-Server Anmeldeinformationen.

5. Testen Sie den E-Mail-Versand

  • Erstellen Sie ein einfaches PHP-Skript wie das in der ursprünglichen Frage angegebene.
  • Führen Sie das Skript aus und überprüfen Sie, ob die E-Mail erfolgreich gesendet wurde.

Wenn Sie auf weitere Probleme stoßen, überprüfen Sie die Fehlerprotokolle auf weitere Details.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine PHP-Mail()-Funktion unter Windows 8 fehl und wie kann ich den Fehler „Verbindung zum Mailserver an Port 25 von „localhost' konnte nicht hergestellt werden' beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn