Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel Araújo de Lucena

enviar email para o gmail com phpMailer

Recommended Posts

Olá!

 

Estou com um problema que surgiu a alguns dias.

O formulário de contato de um site que desenvolvi envia os dados preenchidos para uma conta no gmail (email), via phpMailer. Tudo estava funcionando perfeitamente até que duas situações aconteceram simultaneamente:

1 - mudei a hospedagem para a locaweb

2 - alterei a senha da conta gmail (email): também alterei no script do phpMailer

 

A partir dessas "mudanças" o formulário não envia mais os dados preenchidos para o gmail.

Vocês acham que essas mudanças são de fato os motivos para o não envio das mensagens?

 

Quando envio uma mensagem através do formulário aparece:

 

SMTP -> ERROR: Password not accepted from server: 535 Incorrect authentication data

SMTP Error: Could not authenticate.

 

Vejam o meu script

require("admin/phpmailer/class.phpmailer.php");
                    
                    $mail = new PHPMailer();
                    $mail->IsSMTP();
                    $mail->SetLanguage("br", "language/");
                    $mail->SMTPDebug = 1;
                    $mail->SMTPAuth = true;
                    $mail->SMTPSecure = "ssl";
                    $mail->Port = 465;
                    $mail->Host = "smtp.gmail.com";
                    $mail->Username = "xxx@gmail.com";
                    $mail->Password = "xxx";
                    $mail->SetFrom("$email", "$nome");
                    $mail->AddAddress("xxx@gmail.com");
                    
                    $msg = "<table> A mensagem do usuário vem aqui! </table>";

                    $mail->Subject = ("Assunto da Mensagem");
                    $mail->MsgHTML($msg);                            
                    $enviarEmail = $mail->Send();

Pelo que parece, o erro é de autenticação dos dados (usuário e senha) da minha conta no gmail. Mas elas estão corretas!

Também já acessei um link (esqueci agora) do Google para autenticar a conta, mas também não resolveu.

 

Já pesquisei em vários sites e fiz dezenas de alterações conforme indicavam e sugeriam, mas nada resolveu.

Por exemplo: já alterei o "ssl" para "tls", "465" para "587", etc e etc.

 

E repito: tudo funcionava direitinho. Alguém pode me ajudar? Agradeço desde já!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você usa a autenticação em 2 passos do Gmail? Se usar, creio que precisará de uma senha específica para seu script.

 

Teste o envio com o código deste tutorial: http://rberaldo.com.br/enviando-e-mails-com-a-classe-phpmailer/

Compartilhar este post


Link para o post
Compartilhar em outros sites

O exemplo que postei no meu blog uso até hoje. Funciona perfeitamente com Gmail.

 

Se você garante que as credenciais estão corretas, há algum erro na sua conta.

 

Veja estes dois links:

http://www.rocketideas.com/2012/05/gmail-error-password-not-accepted-from-server-solved/

http://forums.opera.com/discussion/1846425/error-535-with-gmail-smtp-username-and-password-not-accepted/p1

 

Tente também configurar essa conta em um cliente de email.

 

Se nada funcionar, acho que terá que entrar em contato com o suporte do Google. Deve haver algo errado na sua conta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, a conta de email (gmail) que uso em:

$mail->Username = "xxx@gmail.com";

é a mesma que uso em:

$mail->AddAddress("xxx@gmail.com");

não é? É a conta que deve receber os dados do formulário de contato.

 

O problema persiste: o usuário e senha não são reconhecidos pelo servidor.

Mas eu acesso o gmail normalmente. O que devo fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, a conta de email (gmail) que uso em:

$mail->Username = "xxx@gmail.com";
é a mesma que uso em:

$mail->AddAddress("xxx@gmail.com");
não é? É a conta que deve receber os dados do formulário de contato.

 

Pode ser, mas não precisa.

Por exemplo, você pode conectar no SMTP usando sua conta, mas enviar um email para ana@ana.com. Nesse caso, o Username seria o mesmo, mas o AddAddress usaria o email ana@ana.com

 

 

O problema persiste: o usuário e senha não são reconhecidos pelo servidor.

Mas eu acesso o gmail normalmente. O que devo fazer?

Pode haver alguma restrição na sua conta.

Tente configurar em um cliente de email. Se o erro persistir, tente o suporte do Google.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, segui suas orientações: vasculhei as configurações do meu gmail e fiz mais outras adaptações.

 

Repare comigo uma coisa:

Tenho outro projeto funcionando perfeitamente e que usa o phpMailer.

Peguei o gmail do projeto que funciona e inseri no projeto que anda dando esses problemas de autenticação.

Resultado: também não pegou. Dá erro de autenticação novamente.

 

Ou seja, os dados do projeto que está funcionando (hospedado na hostnet) não pega no projeto (hospedado na locaweb). O que você sugere que eu faça?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peguei o gmail do projeto que funciona e inseri no projeto que anda dando esses problemas de autenticação.

Explique melhor essa parte.

Só trocou as credenciais de autenticação ou trocou algum arquivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.