Heim >Backend-Entwicklung >PHP-Tutorial >Es konnte keine Verbindung zum Server hergestellt werden, da PHPmailer keine E-Mails senden konnte

Es konnte keine Verbindung zum Server hergestellt werden, da PHPmailer keine E-Mails senden konnte

WBOY
WBOYOriginal
2016-08-08 09:28:231079Durchsuche

Ich habe einen guten Artikel wie folgt gesehen

Die Verwendung der PHPMailer-Klasse SMTP zum Senden von E-Mails ist fehlgeschlagen. Die Fehlerbehebungsidee steht zunächst im Code. Wir öffnen SMTPDebug$mail = new PHPMailer();//Erstellen Sie eine E-Mail-Versandklasse

$mail->SMTPDebug = true; //Setzen Sie das SMTPDebug-Attribut auf true

Wenn die E-Mail nicht erfolgreich gesendet werden kann, wird eine Fehlermeldung angezeigt

Der Fehler, den ich dieses Mal gemeldet habe, lautet: Verbindung zum Server fehlgeschlagenfolgend Absenderadresse fehlgeschlagen DEBUG-Eingabeaufforderung aktivieren: FEHLER: Verbindung zum Server fehlgeschlagen: (0) Da die Verbindung nicht hergestellt werden kann, werden wir sehen, wie wir eine Verbindung herstellen können. Nachdem wir Du Niang gefragt haben, haben wir erfahren, dass die Verbindung zum SMTP besteht Server ist über fsockopen , dann schauen wir, ob diese Funktion deaktiviert ist Suchen Sie nach 1,allow_url_fopen in PHP.ini = Ein Überprüfen Sie, ob die Option auf „Ein“ steht. Ändern Sie sie auf „Ein“. Was soll ich tun, wenn die obige Konfiguration immer noch nicht möglich ist? , nicht, dass es aktiviert ist, und es muss zugelassen werden, dass es unter den deaktivierten Methoden fsockopen2, disable_functions gibt , es gibt viele deaktivierte Methoden, einschließlich fsockopen, Glückwunsch, Sie haben die Antwort gefunden, entfernen Sie sie, OK, starten Sie Apache neu, funktioniert immer noch nicht. Sehen Sie auch in der php.ini-Datei nach, ob dies der Fall ist geöffnet? extension= php_openssl.dllWenn es geöffnet ist, prüfen Sie, ob die beiden Erweiterungsdateien im PHP-Verzeichnis nach c/:windows/System32 kopiert wurdenlibeay32.dll ssleay32.dll Außerdem: Sie können es auch versuchen, wenn Sie nicht den Server, sondern nur den Code ändern. Hinweis => Ich habe es nicht ausprobiertMethode 1: Ersetzen Sie die fsockopen-Funktion durch die pfsockopen-Funktion

Da die Parameter von pfsockopen grundsätzlich mit denen von fsockopen identisch sind,

also Sie müssen nur @fsockopen durch @pfsockopen ersetzen. Wenn Sie Glück haben, ist pfsockopen nicht deaktiviert, ok bis

Methode 2: Stream_socket_client-Funktion verwenden

Im Allgemeinen ist fsockopen() verboten, pfsockopen hat auch Möglicherweise ist es verboten, daher gibt es hier eine weitere Funktion stream_socket_client().

Die Parameter von stream_socket_client unterscheiden sich von fsockopen, daher muss der Code wie folgt geändert werden:

$this->smtp_conn = stream_socket_client ("tcp ://".$host.":".$port, $errno, $errstr, $tval);

Das ist es.


Dieser Artikel stammt aus dem Blog „909 is a target“, bitte bewahren Sie diese Quelle unbedingt auf

Die Verbindung ist wie folgt:

http://www.68idc.cn/help/jiabenmake/qita/2014042793331.html


Das Obige hat den Fehler beim Versenden von E-Mails durch PHPmailer eingeführt, einschließlich der relevanten Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die an PHP-Tutorials interessiert sind.

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