SMTP Error: Could not connect to SMTP host. Message could not be sent.Nie można połączyć się z hostem SMTP.
Mailer Error: SMTP Error: Could not connect to SMTP host.
Nie mogę znaleźć sposobu na wykonanie PHPMailera pod CentOS. Poczta działa dobrze pod Windows z XAMPP, ale zawsze mam ten błąd pod Linuksem.
Serwer SMTP to port nasłuchiwania Lotus Domino na porcie 25, urządzenie CentOS nie ma w ogóle zapory, a dziwne jest to, że nawet poczta() nie działa. Nic nie zwraca (podczas gdy w systemie Windows zwraca 1). Jeśli wyślę wiadomość e-mail za pośrednictwem telnetu za pośrednictwem serwera CentOS, to działa dobrze, więc nie sądzę, że jest to problem z siecią. Musi być powiązany z PHP, ale nie wiem jak.
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "192.168.x.x";
$mail->SMTPAuth = false;
$mail->From = "[email protected]";
$mail->FromName = "XXX";
$mail->AddAddress("[email protected]");
$mail->IsHTML(true);
$mail->Subject = "Test";
$mail->Body = "Test";
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
?>
Tylko w celu wyjaśnienia powyższego kodu działa na XAMPP (Windows).
I debugowania błędu na PHPMailer i błędów dzieje się tutaj (metoda class.smtp.php connect()):
$this->smtp_conn = @fsockopen($host, // the host of the server
$port, // the port to use
$errno, // error number if any
$errstr, // error message if any
$tval); // give up after ? secs
// verify we connected properly
if(empty($this->smtp_conn)) {
$this->error = array("error" => "Failed to connect to server",
"errno" => $errno,
"errstr" => $errstr);
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] . ": $errstr ($errno)" . $this->CRLF . '<br />';
}
return false;
}
Wygląda na to, że nie może otworzyć Socket ...
AKTUALIZACJA: Używanie $ mail-> SMTPDebug = 2; sugerowane przez Alvaro produkowane ten wyjściowe:
SMTP -> ERROR: Failed to connect to server: Permission denied (13)
Czy próbowałeś podać dane logowania? –
Brak. Co masz na myśli po drodze? Masz na myśli ustawić je jako ""? – raz3r
FYI spróbuj '$ mail-> SMTPAuth = true; $ mail-> Username = ""; $ mail-> Password = ""; ' właśnie teraz, bez powodzenia. – raz3r