Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn die PHP-E-Mail nicht gesendet werden kann?

Was tun, wenn die PHP-E-Mail nicht gesendet werden kann?

藏色散人
藏色散人Original
2021-09-18 09:38:555903Durchsuche

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.

Was tun, wenn die PHP-E-Mail nicht gesendet werden kann?

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!

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