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?
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.
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!