Heim > Artikel > Backend-Entwicklung > Was tun, wenn die PHP-E-Mail nicht gesendet werden kann?
Lösungen für PHP-E-Mail-Fehler: 1. Konfigurieren Sie die entsprechende SMTP-Serveradresse und Portinformationen in php.ini. 2. Verwenden Sie das Sendmail-Programm, um E-Mails zu senden.
Die Betriebsumgebung dieses Artikels: Linux 5.9.8-System, PHP-Version 7.1, Dell G3-Computer
Was soll ich tun, wenn PHP-E-Mails nicht gesendet werden können?
PHP-E-Mail-Sendefehler
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
Lösung:
Die Mail-Funktion von PHP nutzt den SMTP-Dienst zum Versenden von E-Mails. Mit anderen Worten: Sie müssen die entsprechende SMTP-Serveradresse und Portinformationen in php.ini konfigurieren. Wenn Sie E-Mails auf diesem Computer senden müssen, also
SMTP = localhost smtp_port = 25
, müssen Sie den SMTP-Dienst auf Ihrem eigenen Computer konfigurieren. Sie können versuchen, den SMTP-Dienst von IIS zu öffnen.
Erklären Sie, dass die Funktion mail () in PHP das Programm sendmail zum Senden von E-Mails verwendet und sendmail -t -i im Allgemeinen ein integriertes Programm des Linux/Unix-Systems ist, das Windows-System jedoch nicht über dieses Programm verfügt. Daher können Sie die Funktion mail() nicht direkt verwenden, um eine E-Mail zu senden.
Verwenden Sie mail(), um E-Mails unter Windows zu senden
1 Das E-Mail-Versandsystem muss über einen SMTP-Dienst verfügen. Installieren Sie die Komponente „SMTP-Dienst“ unter „Windows Server 2003“:
A „Windows-Komponenten hinzufügen und entfernen“ – > „Anwendungsserver“ – > „Internetinformationsdienste (IIS)“ klicken Sie auf „Details“.
B. Wählen Sie „SMTP-Dienst“ zur Installation.
2. Richten Sie SMTP ein:
A. Öffnen Sie „Internet Information Services (IIS) Manager“ und suchen Sie den „Standard-SMTP-Virtual-Server“.
B. Klicken Sie mit der rechten Maustaste auf den Dienst und wählen Sie „Eigenschaften“.
C. Klicken Sie im Popup-Feld „Standardeigenschaften des virtuellen SMTP-Servers“ auf das Tabellenelement „Zugriff“ und wählen Sie die Schaltfläche „Authentifizierung“.
D. Wählen Sie im Popup-Feld „Authentifizierung“ nur „Anonymer Zugriff“ und lassen Sie nichts anderes ausgewählt.
E. Kehren Sie zum Tabellenelement „Zugriff“ zurück, wählen Sie die Schaltfläche „Relay“, klicken Sie im Popup-Feld „Relay-Einschränkung“ auf die Schaltfläche „Hinzufügen“ und fügen Sie die IP-Adresse 127.0.0.1 hinzu.
3. Ändern Sie „php.ini“:
---------------------------------
[mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. sendmail_from = me@example.com
-- --- ---------
4. Führen Sie dieses Programm aus und melden Sie sich bei der in „$toaddress“ angezeigten E-Mail-Adresse an, um die E-Mails zu überprüfen .
$toaddress = 'xuzhang@mascatv.com'; $subjects = 'test the php mail'; $mailcontent = 'Onlu test the php mail!'; $fromaddress = 'From: me@localhost.com'; mail($toaddress,$subjects,$mailcontent,$fromaddress);
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas tun, wenn die PHP-E-Mail nicht gesendet werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!