Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn ich keine E-Mails empfangen kann, wenn ich sie über die Mail-Funktion in PHP versende?

Was soll ich tun, wenn ich keine E-Mails empfangen kann, wenn ich sie über die Mail-Funktion in PHP versende?

王林
王林Original
2021-06-10 13:58:212662Durchsuche

Die Lösung für das Problem, dass bei Verwendung der Mail-Funktion in PHP keine E-Mails empfangen werden: Installieren Sie zuerst die Pakete sendmail und sendmail-cf, bearbeiten Sie dann die Konfigurationsdatei sendmail.mc und erstellen Sie schließlich eine neue Konfigurationsdatei Führen Sie es im Terminal aus. Testen Sie es einfach.

Was soll ich tun, wenn ich keine E-Mails empfangen kann, wenn ich sie über die Mail-Funktion in PHP versende?

Die Betriebsumgebung dieses Artikels: Ubuntu 17.04-System, PHP 7.3, Thinkpad T480-Computer.

Ursachenanalyse:

Der Grund, warum wir keine E-Mails empfangen können, kann im Fehlen einiger relevanter Konfigurationen liegen.

Werfen wir einen Blick auf die folgenden spezifischen Schritte.

Zuerst müssen wir etwas Software installieren:

Mit der Sendmail-Funktion in Ubuntu können Sie problemlos E-Mails senden. Um Ubuntu Sendmail zu verwenden, müssen Sie zuerst zwei Pakete installieren Ubuntu, Sie müssen Mailutils installieren.

Installationsbefehl:

sudo apt-get install sendmail
sudo apt-get install sendmail-cf

Um die Funktion mit Anhängen zu verwenden, müssen Sie auch Sharutils installieren,

Installationsbefehl:

sudo apt-get install mailutils

Terminal-Eingabebefehl:

sudo apt-get install sharutils;(yum install sharutils )

Die Ausgabe ist wie folgt :

ps aux |grep sendmail

Zeigt an, dass sendmail erfolgreich installiert und gestartet wurde

Nach der Installation müssen wir einige entsprechende Konfigurationen durchführen


sendmail sendet standardmäßig nur E-Mails an lokale Benutzer. Dies kann nur durch die Ausweitung auf das gesamte Internet erreicht werden ein echter Mailserver.

Öffnen Sie die Sendmail-Konfigurationsmakrodatei: /etc/mail/sendmail.mc

root     20978  0.0  0.3   8300  1940 ?        Ss   06:34   0:00 sendmail: MTA: accepting connections
root     21711  0.0  0.1   3008   776 pts/0    S+   06:51   0:00 grep sendmail

Suchen Sie die folgende Zeile:

DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1′ ) dnl

Ändern Sie Addr=0.0.0.0, um anzugeben, dass Sie eine Verbindung zu jedem Server herstellen können.

Generieren Sie eine neue Konfigurationsdatei:

vi  /etc/mail/sendmail.mc

Suchen Sie den Satz „;sendmail_path“, entfernen Sie den Kommentar „;“ und fügen Sie dann das Sendmail-Startverzeichnis hinzu

sendmail_path = /usr/sbin/sendmail -t -i

Go zur Theorie hier Sie können jetzt E-Mails versenden.

Abschließend können Sie testen, ob die Konfiguration im Terminal erfolgreich ist:

Die gängigen Methoden zum Versenden von E-Mails im Terminal sind wie folgt:

So schreiben Sie eine allgemeine E-Mail: Mail test@126.com Cc Bearbeiten Sie den Kohlenstoff Objekt kopieren, Betreff: E-Mail-Betreff eingeben und Eingabetaste drücken. Drücken Sie zum Beenden Strg-D. Schnellversandmethode: echo „mail body“ | Dateiinhalt als E-Mail-Text: mail -s test test@126. com < test.txt

Senden Sie eine E-Mail mit einem Anhang: uuencode Anhangsname, Anhangsanzeigename | :

php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn ich keine E-Mails empfangen kann, wenn ich sie über die Mail-Funktion in PHP versende?. 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