Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Erro ao enviar mensagemSMTP connect() failed

Quando tento enviar email dá a seguinte mensagem: "Erro ao enviar mensagemSMTP connect() failed."

Código do arquivo "envia-contato.php":

<?php
session_start();
$nome = $_POST["nome"];
$email = $_POST["email"];
$mensagem = $_POST["mensagem"];

require_once("PHPMailerAutoload.php");

$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "meuemail@gmal.com";
$mail->Password = "minhasenha";

$mail->setFrom("meuemail@gmal.com", "Anderson Matias");
$mail->addAddress("meuemail@gmal.com");
$mail->Subject = "Email de contato da Loja";
$mail->msgHTML("<html>de: {$nome}<br/>email: {$email}<br/>mensagem: {$mensagem}</html>");
$mail->AltBody = "de: {$nome}\nemail:{$email}\nmensagem: {$mensagem}";

if($mail->send()) {
    $_SESSION["success"] = "Mensagem enviada com sucesso";
    header("Location: index.php");
} else {
    $_SESSION["danger"] = "Erro ao enviar mensagem" . $mail->ErrorInfo;
    header("Location: contato.php");
}
die();
7 respostas

Oi Anderson, tudo bom?

O erro:

Erro ao enviar mensagemSMTP connect() failed.

Pode acontecer por alguns motivos.

O mais comum é que tenha rolado algum bloqueio no seu gmail. Para evitar esse tipo de bloqueio basta você habilitar aplicações menos seguras na sua conta.

Outra possibilidade é que sua máquina tenha a porta 587 bloqueada. Você pode testar isso aqui

A ultima, e menos provável, é que você tenha errado a senha.

Seu código parece bem justo, não tem nenhum problema no script em sí =)

Verifica os pontos e qualquer coisa é só falar!

Abraço

Boa noite, André,

Bom, conferi minha senha e está correta. Dei permissão a apps menos seguros na minha conta Google e criei algumas regras no Ufw para a porta 587. Mesmo assim não funcionou. Talvez eu esteja esquecendo algum detalhe na configuração do Ufw. Vou continuar pesquisando.

Oi Anderson, como ficou? Conseguiu resolver? Essas configurações de ambiente pra envio de email são bem delicadas mesmo.

Mas, é o tipo de coisa que a gente faz uma vez só por máquina =)

Compartilha aqui com a gente o status, talvez eu consiga te dar alguma ideia.

Abraço!

Não consegui resolver ainda.

Fala Anderson. Também estava com esse problema. Consegui resolver com a configuração da conta do Google para aceitar conexão de aplicativos menos seguros. Tem outro detalhe. Aqui, uso o Avast. Desabilitei o módulo de e-mail e funcionou.

Vai na fé que você consegue.

Abraços !!

Policarpo,

Eu fiz essa alteração na conta Google e também desabilitei meu firewall do Ubuntu. Além disso renomeie para "old" os arquivos usados para o envio de e-mail e recopie de um projeto pronto que baixei recentemente do curso. Mantive inalterado apenas o "envia-contato.php". Testei em dois navegadores diferentes (Firefox e Chrome). Continua falhando.

solução!

Obrigado a todos que deram atenção a este meu tópico.

Consegui fazer um formulário funcional seguindo este tutorial:

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software