Erro ao enviar email utilizando PHPMailer

25/07/2016

0

PHP

Quando eu tento executar esse código no navegador aparece a seguinte mensagem: SMTP connect() failed.
Por favor, me ajudem!!!

<?php
	require_once "class/class.phpmailer.php";
	require_once "class/class.smtp.php";

	$Nome    = strip_tags(trim(filter_input(INPUT_POST, 'nome')));
	$Eil     = strip_tags(trim(filter_input(INPUT_POST, 'email')));
	$Assunto = strip_tags(trim(filter_input(INPUT_POST, 'assunto')));

	$From    = "teste@gmail.com";

	$Email = new PHPMailer;

	$Email->SetLanguage("br");
	$Email->IsMail();
	$Email->IsHTML(true);

	$Email->IsSMTP(); // Define que a mensagem será SMTP
	$Email->Host = "smtp.teste.com.br"; // Endereço do servidor SMTP, não altere esse campo.
	$Email->SMTPAuth = true; // ativando a autenticação SMTP (obrigatório, não alterar)
	$Email->Username = 'teste@teste.com.br'; // usuário de smtp Usuário do servidor SMTP (endereço de email), altere para suas informações.
	$Email->Password = ''; // Senha do servidor SMTP (senha do email usado), altere para suas informações
	$Email->Port = 587; //Porta de envio de SMTP (obrigatório, não alterar)
	$Email->SMTPDebug = 2;       // Debugar: 1 = erros e mensagens, 2 = mensagens apenas
	$Email->SMTPAuth = true;     // Autenticação ativada
	$Email->SMTPSecure = 'ssl';  // SSL REQUERIDO pelo GMail

	$Email->CharSet = 'UTF-8'; // Charset da mensagem
	$Email->From = $From;
	$Email->FromName = "WFPcomputer";
	$Email->AddAddress($From, "Orcamento");
	$Email->Subject = "Orcamento";

	$Email->Subject  = "Orcamento"; // Assunto da mensagem
	$Email->Body .= "\r\n Nome: ".$Nome.""; // Texto da mensagem
	$Email->Body .= "\r\n E-mail: ".$Eil.""; // Texto da mensagem
	$Email->Body .= "\r\n Telefone: ".$Assunto.""; // Texto da mensagem
	
	if ($Email->send()) {
	echo "E-mail enviado com sucesso!";
	} else {
	echo "Não foi possível enviar o e-mail.";
	}

	/*echo "<pre>";
	print_r($Email);*/
?>
Wesley Jonas

Wesley Jonas

Responder

Posts

25/07/2016

William

Dá uma olhada nesse post, cito passos para liberação do smtp para o gmail.
Enviar e-mails localhost com PHP e PHPMailer
Responder

26/07/2016

Wesley Jonas

Olá, William,

Eu testei o código que está no post que você me indicou, configurei o apache, testei no servidor local e remoto e continua a mesma coisa. O que pode ser?
Responder

26/07/2016

William

Você liberou na sua conta no gmail, como detalhei no post?
Responder

26/07/2016

Douglas Noronha

Coloque assim no else para saber qual o erro.
echo "E-mail não pode ser enviado: ".$mail->ErrorInfo;
Responder

26/07/2016

Wesley Jonas

WIlliam, ela já está liberada. E eu também testei com o ultramail e o erro continuou.

Douglas, o erro já está sendo exibido através desta linha:
 $Email->SMTPDebug = 2; 
;
Responder

26/07/2016

Wesley Jonas

Entrem nesse link e vejam que conseguem enviar o email: [url]http://www.colegiomontesinai.com.br[/url]
Responder

26/07/2016

William

Entrem nesse link e vejam que conseguem enviar o email: [url]http://www.colegiomontesinai.com.br[/url]


Acabei de baixar o demo do meu blog em outra máquina e fiz o teste com a minha conta do GMAIL, enviou normalmente.
Responder

26/07/2016

Wesley Jonas

William, você quer que eu coloque aqui o meu php.ini e o httpd.conf?
Responder

26/07/2016

Douglas Noronha

E qual o erro que está dando?
Responder

26/07/2016

Wesley Jonas

SMTP connect() failed.
Responder

26/07/2016

William

Você está usando estas configurações?

Servidor SMTP: smtp.gmail.com
Porta: 465
SMTPSecure: ssl
Usuário: seu_email@gmail.com
Senha: sua_senha
Responder

26/07/2016

Wesley Jonas

Sim, olha as imagens:

http://www.colegiomontesinai.com.br/imagem01.png
http://www.colegiomontesinai.com.br/imagem02.png
Responder

26/07/2016

Douglas Noronha

Tente usar assim:

    $mail = new PHPMailer();
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 587;
    $mail->SMTPSecure = 'tls';
    $mail->SMTPAuth = true;
    $mail->Username = "user";
    $mail->Password = "senha";
    $mail->setFrom("user@dominio.com.br");
    $mail->Subject = 'Assunto';
    $mail->addAddress('destino@dominio.com.br','usuario');
    $mail->Body = $html;
    if(!$mail->send()){
        echo "E-mail não pode ser enviado: ".$mail->ErrorInfo;
    }
    else{
        echo "E-mail de enviado";
    }
Responder

26/07/2016

Wesley Jonas

Já consegui, pessoal. Obrogado!!
Responder

27/07/2016

William

Wesley se possível compartilhe sua solução, outros podem passar pelo mesmo problema.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar