Erro de autenticação SMTP usando o PHPMailer [closed]

1

Estou usando o PHPMailer para enviar um formulário básico para um endereço de e-mail, mas recebo o seguinte erro:

Erro de SMTP: não foi possível autenticar. A mensagem não pôde ser enviada. Erro do remetente: Erro de SMTP: não foi possível autenticar. Erro do servidor SMTP: VXNlcm5hbWU6

O mais estranho é que, se eu tentar enviar de novo, FUNCIONA! Toda vez que eu envio o formulário após o primeiro erro, ele funciona. Mas se eu deixá-lo por alguns minutos e, em seguida, tente novamente eu recebo o mesmo erro novamente.

O nome de usuário e a senha precisam estar certos, pois às vezes funciona bem. Eu até criei o seguinte script (muito básico) apenas para testá-lo e obtive o mesmo resultado

<?php

require("phpmailer/class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();
$mail->Host = "smtp.host.com";
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "password";

$mail->From = "[email protected]";
$mail->FromName = "From Name";
$mail->AddAddress("[email protected]");
$mail->AddReplyTo("[email protected]");

$mail->IsHTML(true);  

$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";

?>

Eu não acho que isso seja relevante, mas apenas mudei minha hospedagem para um servidor compartilhado Linux. Alguma idéia do porquê isso está acontecendo?

Obrigado!

*** ATUALIZADO em 02/06/2012
Eu tenho feito alguns testes. Os resultados:

Eu testei o script em um servidor IIS e funcionou bem. O erro parece acontecer apenas no servidor Linux.

Além disso, se eu usar o servidor de e-mail do gmail, ele funcionará bem em ambos, IIS e Linux.

Poderia ser um problema com a configuração do meu servidor Linux?

*** ATUALIZAÇÃO 2
Eu tentei swiftmail e funciona bem :-) então estou jogando PHPMailer

    
por Javier 30.05.2012 / 20:38

2 respostas

0

Eu não tenho certeza se o problema foi o servidor ou o PHPMailer, mas eu tentei o Swiftmail e funcionou bem. Eu normalmente gosto de saber porque algo não está funcionando, mas não consigo encontrar o problema e o serviço técnico está tão perdido quanto eu. Então, eu vou continuar com o Swiftmail de agora em diante para meus projetos.

Obrigado pela ajuda!

    
por 05.06.2012 / 11:10
-1

Você pode tentar solicitar uma conexão TLS assim:

$mail->SMTPAuth   = true;
$mail->SMTPSecure = "tls";

esta pergunta / resposta em SO tem mais informações. Incluindo a recomendação para usar a biblioteca php PEAR em vez do phpmailer.

    
por 31.05.2012 / 03:27