PHPMailer berüchtigten SMTP-FEHLER: Failed to connect to server: Connection timed out (110) SMTP connect() failed
Ich versuche, PHPMailer funktioniert mit einem Google Apps-SMTP-server. Ich habe versucht:
- Einkommentieren openssl in php.ini
- Telneting Google-server auf port 465 (Erfolg)
- Telneting mein webserver auf port 465 (Erfolg)
- Telnetting einen server von Google von meinem server (Erfolg)
- Die überprüfung von DNS-SPF/MX-Datensätzen (und Hygienisierung zu IPv4)
- tls auf port 587
- Webhoster bestätigt, erlauben Sie ausgehende SMTP-traffic
- google captcha unlock trick
- Lesen alles, was ich finden konnte auf StackOverflow (Lösungen abgedeckt, die oben genannten)
Kann jemand eine Lösung für die Zeitüberschreitung der Verbindung?
Hier ist mein code:
require_once ( 'class.phpmailer.php' ); //Add the path as appropriate
$Mail = new PHPMailer();
$Mail->IsSMTP(); //Use SMTP
$Mail->Host = "smtp.gmail.com"; //Sets SMTP server
$Mail->SMTPDebug = 1; //2 to enable SMTP debug information
$Mail->SMTPAuth = TRUE; //enable SMTP authentication
$Mail->SMTPSecure = "ssl"; //Secure conection
$Mail->Port = 465; //set the SMTP port
$Mail->Username = '[email protected]'; //SMTP account username
$Mail->Password = 'mypassword'; //SMTP account password
$Mail->Priority = 1; //Highest priority - Email priority (1 = High, 3 = Normal, 5 = low)
$Mail->CharSet = 'UTF-8';
$Mail->Encoding = '8bit';
$Mail->Subject = 'Test Email Using Gmail';
$Mail->ContentType = 'text/html; charset=utf-8\r\n';
$Mail->From = '[email protected]';
$Mail->FromName = 'GMail Test';
$Mail->WordWrap = 900; //RFC 2822 Compliant for Max 998 characters per line
$Mail->AddAddress( $to ); //To:
$Mail->isHTML( TRUE );
$Mail->Body = $body;
$Mail->AltBody = $MessageTEXT;
$Mail->Send();
$Mail->SmtpClose();
if(!$Mail->Send()) {
$error = 'Mail error: '.$Mail->ErrorInfo;
echo($error);
return false;
} else {
$error = 'Message sent!';
return true;
}
- hast du das bestätigen mit den webhost, dass Sie zulässt, dass port 465? "smtp" ist port 25. port 465 ist "ssmtp" - smtp über ssl, und kann blockiert werden, weil es ein anderes Protokoll
- ja. Ich war auch erfolgreich im Verkehr auf einen anderen server thru 465.
- überprüfen Sie, dass es keine application-level-firewall auf dem server ausgeführt. wenn telneting->google von der Kommandozeile funktioniert, aber nicht vom webserver, dann etwas blockieren könnte den webserver aus der Lektüre heraus, dass Art und Weise.
- Ich bin in der Lage, telnet von meinem webserver (per ssh) an gmail-SMTP-server auf port 465
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es stellt sich heraus, ich war ein Opfer des Zufalls. Wenn ich ssh ' ed auf meinem server und telneted zu Gmail, es war offen - jedoch aufgrund der openssl nicht unkommentiert, ich vermute, dass ist der Grund, warum es zunächst keine.
Jedoch, beim Versuch es zum laufen zu bringen, die host-firewall Blacklist in Gmail. Sie sind derzeit auf der Suche, warum, aber die kurze Antwort ist: es ist in der weißen Liste aufgeführt ist und funktioniert.