Phpmailler Error sending email SMTP connect() failed. UOL HOST

Asked

Viewed 2,905 times

3

Hello, I have a problem regarding the connection with the SMTP of Uol, I am trying to send email but without any success.

// 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();

Here I do the IFS validation.

    // 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;
    }

But it returns the following error message.

Erro ao enviar email SMTP connect() failed.
  • Trying to send from Uol’s own hosting or trying to use an UOL account from outside? Have you checked if it’s not the firewall?

2 answers

3


Like you’re using the door 587 probably the server should ask for SSL connection. Change the code to:

$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';

But according to the UOL help pages, SSL should not be used, so I recommend following their tutorial.

  • 1

    port 587 is not for use with SSL but with TLS. For SSL the port would be 465 or 995.

  • Thank you very much Marcus for the help, it was very affectionate his reply, on the date I ended up using the door 465. I’m sorry for the delay and the lack of time to thank you.

-1

$mail = new Phpmailer Phpmailer(true);// No more automatically load should indicate the class folder 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   

Browser other questions tagged

You are not signed in. Login or sign up in order to post.