Array
(
)

Erro ao enviar email utilizando PHPMailer

PHP
Wesley Jonas
   - 25 jul 2016

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

<?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);*/
?>

William (devwilliam)
   - 25 jul 2016

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

0
|
0

Wesley Jonas
   - 26 jul 2016

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?

0
|
0

William (devwilliam)
   - 26 jul 2016

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

0
|
0

Douglas Noronha
   - 26 jul 2016

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

0
|
0

Wesley Jonas
   - 26 jul 2016

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: #Código

 $Email->SMTPDebug = 2; 
;

0
|
0

Wesley Jonas
   - 26 jul 2016

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

0
|
0

William (devwilliam)
   - 26 jul 2016


Citação:
Entrem nesse link e vejam que conseguem enviar o email: http://www.colegiomontesinai.com.br


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

0
|
0

Wesley Jonas
   - 26 jul 2016

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

0
|
0

Douglas Noronha
   - 26 jul 2016

E qual o erro que está dando?

0
|
0

Wesley Jonas
   - 26 jul 2016

SMTP connect() failed.

0
|
0

William (devwilliam)
   - 26 jul 2016

Você está usando estas configurações?

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

0
|
0

Wesley Jonas
   - 26 jul 2016

Sim, olha as imagens:

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

0
|
0

Douglas Noronha
   - 26 jul 2016

Tente usar assim:

#Código

    $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";
    }

0
|
0

Wesley Jonas
   - 26 jul 2016

Já consegui, pessoal. Obrogado!!

0
|
0

William (devwilliam)
   - 27 jul 2016

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

0
|
0