Ich baue eine Website, und ein Teil davon muss E-Mails senden (eine für Account-Passwort-Reset-Links, die andere für allgemeine Benutzer-Admin-Kontakt). Ich habe PearMailer verwendet, um E-Mails über ein GMail-Konto zu senden, und das hat gut funktioniert ... bis jetzt. Aus irgendeinem Grund ist es das Senden von E-Mails gestoppt, und es ist mir diese sehr hilfreich Fehler geben:PearMailer, PHP7 und OpenSSL nicht mit gmail mit unbekanntem Fehler verbinden
[message] => Failed to connect to ssl://smtp.gmail.com:465 [SMTP: Failed to connect socket: fsockopen(): unable to connect to ssl://smtp.gmail.com:465 (Unknown error) (code: -1, response:)
openSSL aktiviert ist, und alle Anmeldeinformationen Ich verwende korrekt sind (ich manuell zu diesem GMail-Konto anmelden können mit Sie).
Dies ist der Code ich verwende, wo $ config die Kontoanmeldeinformationen hält, und die _POST Daten $ von der Kontakt-Form (das Fehlen von sanitization auf sie ignorieren, während ich die Entwicklung bin):
require_once "Mail.php";
$params=array(
"host"=>"ssl://smtp.gmail.com",
"port"=>465,
"auth"=>true,
"username"=>$config["mailFrom"],
"password"=>$config["mailPass"]
);
$headers=array(
"To"=>$config["mailFrom"],
"From"=>$_POST['user']." <".$_POST["reply-to"].">",
"Content-type"=>"text/html",
"Subject"=>$_POST['subject']
);
$mail=Mail::factory("smtp", $params);
$sent=$mail->send($config["mailFrom"], $headers, htmlentities($_POST['body']));
Es sollte mein GMail-Konto eine E-Mail von sich senden, aber stattdessen gibt es mir den Fehler, den ich oben erwähnt habe. Nach dem Ändern der An und Aus-Adressen, egal was passiert, gibt es mir immer noch diesen Fehler. Das ist besonders merkwürdig, da ich fast den gleichen Code benutzt habe, um Links zum Zurücksetzen des Passworts zu senden, und das funktionierte bis jetzt. Natürlich ist es auch jetzt nicht möglich, eine Verbindung herzustellen.
Ich kann nichts finden, das sagt, dass Google seine Einstellungen geändert hat, und ich habe absolut nicht die Grenze von 2000 Nachrichten pro Tag überschritten, die smtp.gmail.com erlauben soll, also, was ist hier los?
Wie bereits erwähnt, ist openssl bereits aktiviert. Das ist nicht das Problem. – IceMetalPunk
Bearbeitet ... hoffe es funktioniert jetzt für Sie .. –
Nun, bekomme ich einen anderen Fehler: '[Nachricht] => Authentifizierungsfehler [SMTP: STARTTLS fehlgeschlagen (Code: 220, Antwort: 2.0.0 Startbereit TLS)] [userinfo] 'Wie bereits erwähnt, habe ich überprüft, dass die Anmeldedaten eigenständig funktionieren. Einige Googler sagen mir, dass PearMailer nicht gut mit PHP5.6 und höher mit TLS funktioniert; Hast du einen Vorschlag für ein besseres SMTP-System für mich? – IceMetalPunk