PHPMailler Ошибка при отправке почты SMTP connect() failed. UOL HOST


Привет, у меня есть проблема в отношении соединения с SMTP Uol, я пытаюсь отправить почту, но без успешно.

// Inicia a classe PHPMailer
    $mail = new PHPMailer();

    // Define os dados do servidor e tipo de conexão
    // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    $mail->IsSMTP(); // Define que a mensagem será SMTP
    $mail->Port = 587 ; 
    $mail->Host = "smtp.dominio.com.br"; // Endereço do servidor SMTP
    $mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
    $mail->Username = '[email protected]'; // Usuário do servidor SMTP
    $mail->Password = 'senha'; // Senha do servidor SMTP



    // Define o remetente
    // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    $mail->From = "[email protected]"; // Seu e-mail
    $mail->FromName = 'nome'; // Seu nome

    // Define os destinatário(s)
    // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    $mail->AddAddress("email@dominio", 'nome');

    //$mail->AddCC('[email protected]', 'Ciclano'); // Copia
    //$mail->AddBCC('[email protected]', 'Fulano da Silva'); // Cópia Oculta



    // Define os dados técnicos da Mensagem
    // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    $mail->IsHTML(true); // Define que o e-mail será enviado como HTML
    $mail->CharSet = 'utf-8'; // Charset da mensagem (opcional)

    // Define a mensagem (Texto e Assunto)
    // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    $mail->Subject  = "Contato"; // Assunto da mensagem
    $mail->Body = "Teste." ;
    $mail->AltBody = "Este é o corpo da mensagem de teste, em Texto Plano! \r\n :)";

    // Define os anexos (opcional)
    // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    //$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo

    // Envia o e-mail
    $enviado = $mail->Send();

    // Limpa os destinatários e os anexos
    $mail->ClearAllRecipients();
    $mail->ClearAttachments();

Здесь делаю проверки IFS.

    // Exibe uma mensagem de resultado
    if ($enviado) {
    echo "<meta http-equiv=refresh content=0;URL=../../contato/venda/>
        <SCRIPT LANGUAGE='JavaScript'>window.alert('Em breve responderemos sua mensagem!');</SCRIPT>";


    }else{      



    echo "Erro ao enviar email " . $mail->ErrorInfo;
    }

Но он возвращает следующее сообщение об ошибке.

Erro ao enviar email SMTP connect() failed.
Author: Junior Moreira, 2015-11-17

2 answers

, Как это, используя порт 587 вероятно, сервер должен запросить SSL-соединения. Измените код на:

$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Port = 587 ; 
$mail->Host = "smtp.dominio.com.br"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = '[email protected]'; // Usuário do servidor SMTP
$mail->Password = 'senha'; // Senha do servidor SMTP
$mail->SMTPSecure = 'ssl';

Однако, согласно страниц справки UOL, SSL не должен быть использован, поэтому рекомендую последовать учебник них.

 3
Author: marcusagm, 2015-11-17 04:23:43

$mail = new PHPMailer\PHPMailer(true);// Не загружается автоматически, то следует указать папку класса try {

 //configuracoes do servido UOLHOST (Meu está funcionando normal)
$mail->SMTPDebug = 2;//cola 5 ou 6 para ir verificando erro a erro               
$mail->isSMTP();   
$mail->Port = 587;//Não é porta com controle ssl                             
$mail->Host = 'smtp.seu_dominio.com.br';  
$mail->SMTPAuth = true;             
$mail->Username = 'email@seu_dominio.com.br';//Para o login
$mail->Password = '******';//Para a senha     
$mail->SMTPSecure = '';// deve deixar vazio   
 -1
Author: Moisés P.L. Rosa, 2019-10-31 16:03:16