PHPMailer não funciona no servidor (SMTP) [Resolvido]

Iniciado por cerebro, 03 de Agosto de 2012, 10:43

tópico anterior - próximo tópico

cerebro

Pessoal estou tentando usar a classe PHPMailer em um sistema que estou fazendo, no meu computador (ubuntu 11.10, Apache2.2 e php 5.3) ele funcionou, porem quando fiz FTP dos arquivos para o servidor (onde o site ficara hospedado) e navego ate o script php que envia um email de teste (mesmo script do meu computador) ele apresenta o seguinte erro:SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
Erro de SMTP: Não foi possível conectar com o servidor SMTP.
Entre em contato com a empresa de hospedagem e me perguntaram quais configurações SMTP em precisava. E sinceramente eu não sei, alguém pode me ajudar? já teve esse problema? ou sabe que configurações SMTP são necessárias para enviar email (eu achei que fossem todas, afinal SMTP é para enviar mensagem é?)
By Cerebro Vasconcelos

cerebro

Aaaa...
o meu script é:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Email em php
        </title>
    </head>
    <body>
        <?php
       
#error_reporting(E_ALL); // Caso queira debugar eventuais erros
       #error_reporting(E_ALL && E_STRICT); // Caso queira debugar eventuais erros
       
date_default_timezone_set('America/Sao_Paulo'); // Acerta o horário
       
require_once('PHPMailer_v5.1/class.phpmailer.php');
       
$mail = new PHPMailer();
       
$mail->SetLanguage('br');
       
$mail->IsSMTP(); // Configura o objeto para usar SMTP
       
$mail->SMTPDebug = 2; // Debug do SMTP (para teste)
       // 1 = erros e mensagens
       // 2 = somente mensagens
       
$mail->SMTPAuth = true; // ativa a autenticação SMTP. O Gmail exige autenticação, preciso disso
       
$mail->SMTPSecure = "ssl"; // Configura o tipo de criptografia do SMTP do Gmail, no caso, SSL
       
$mail->Host = "smtp.gmail.com"; // Configura servidor SMTP do Gmail
       
$mail->Port = 465; // Configura porta do servidor SMTP do Gmail
       
$mail->Username = "cerebro.vasconcelos@gmail.com"; // Gmail remetente
       
$mail->Password = "MINHA_SENHA"; // Senha remetente
       
$mail->SetFrom('victor.jesus@gmail.com', 'Victor'); //não sei
       
$mail->AddReplyTo("cerebro.vasconcelos@somavirtual.com","VasconcelosSV"); // resposta
       
$mail->Subject = "Envio de e-mail pelo php"; // Assunto do e-mail
       
$mail->AltBody = "Para visualizar a mensagem, por favor, use um cliente de e-mail compatível/configurado para ver mensagens HTML!"; // Mensagem alternativa caso o destinatário. Veja o e-mail em um aplicativo sem suporte ou não configurado para ver mensagens HTML
       
$mail->MsgHTML("Se isto aparecer eh por que funcionou"); // conteúdo
       //$endereco = "cerebro.vasconcelos@yahoo.com.br";
       
$mail->AddAddress("cerebro.vasconcelos@yahoo.com.br", "CerebroYahoo"); // destinatário
       
if(!$mail->Send())
       {
               echo
"Erro: " . $mail->ErrorInfo;
       }else
       {
               echo
"Mensagem Enviada!";
       }
       
?>
    </body>
</html>

funciona na minha máquina e não no servidor da web
By Cerebro Vasconcelos

irtigor

"Connection timed out" significa que ele tentou, tentou... mas não conseguiu comunicação com o servidor. Pergunte se eles não estão bloqueando a porta.

denisbr

Altera em $mail->SMTPDebug = 2; para $mail->SMTPDebug = 1;  para ter mais informações sobre a tentativa de envio do e-mail. Mas é como o irtigor o servidor não está conseguindo se comunicar com o servidor do google.

cerebro

Bom gente eu fiz substituí a classe por uma própria da empresa de hospedagem e funcionou.
Obrigado pela ajuda.
By Cerebro Vasconcelos