ti-enxame.com

Como posso evitar que o servidor de e-mail do Google me faça login via navegador?

Eu estou tentando enviar e-mails do Django usando um e-mail configurado pelo Google Apps, minha configuração no arquivo settings.py é algo como isto:

EMAIL_Host = 'smtp.gmail.com'
EMAIL_Host_USER = '[email protected]'
EMAIL_Host_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

Quando tento enviar um email usando:

from Django.core.mail import send_mail

send_mail("Happy new year", "We wish you the best for 3001",
    "[email protected]", ["[email protected]"])

Estou tendo o erro a seguir:

SMTPAuthenticationError: 
(535, '5.7.1 Please log in with your web browser and then try again. 
 Learn more at
 5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754 k2sm758604obl.14')

Como estou trabalhando em um servidor remoto sem interface gráfica com o usuário, não posso nem tentar efetuar login pelo navegador.

38

Basta ir para https://accounts.google.com/DisplayUnlockCaptcha E clicar em "continuar". Isso permitirá o acesso de outros servidores.

38
Hasan Veli Soyalan

Eu estive mexendo com isso por algumas horas dentro de um teste de pepino/capivara/selênio - descobri algo estúpido que consertará esse erro definitivamente.

O erro muito familiar:

Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure) (Net::IMAP::NoResponseError)

Como se vê, há DOIS "Permitir Menos Apps Seguros" alterna que precisam ser alterados para permitir logins de dispositivos desconhecidos/IMAP.

Um aqui: https://myaccount.google.com/security?pli=1#connectedapps (parte inferior da página)

E um aqui: https://www.google.com/settings/security/lesssecureapps

Ambos os tuxos GODFORSAKEN precisam ser alterados para se livrar dessa mensagem de erro.

edit: do usuário Milothicus ( https://stackoverflow.com/users/3538026/milothicus ): em myaccount.google.com, em "Login e segurança", selecione "Aplicativos e sites conectados". isso também tem uma opção para "Permitir aplicativos menos seguros". depois de ligar este, meu servidor agora poderia me enviar um e-mail automático.

30
etusm

Quando tentei acessar minha conta, recebi este e-mail com este link. https://www.google.com/settings/security/lesssecureapps

Você pode ativar e desativar depois de fazer o teste.

13
jasxir

Recebi a seguinte resposta do suporte do Google Apps:

Você precisa ativar seu revezamento de saída. Para fazer isso:

  1. Faça login na sua conta em google.com/a/seudominio.com
  2. Clique na guia Configurações e selecione E-mail na coluna da esquerda.
  3. Na seção Retransmissão de saída, selecione Permitir que os usuários enviem e-mails por meio de um SMTP externo ao configurar um endereço "de" hospedado Fora do seu domínio.
  4. Clique em Salvar alterações.

Eles também forneceram um link de ajuda: http://support.google.com/a/bin/answer.py?hl=pt-BR&answer=176054

Depois de ligar o Outbound relay e usar o proxy para acessar o webmail mais uma vez (graças a @DaniloBargen e @joshcartme) o problema foi resolvido. Eu li o link explicando o que é a retransmissão de saída e não tenho certeza porque eu preciso (eu não acredito que estou usando um servidor SMTP externo).

Como não tenho certeza de que isso é o que resolveu o problema, não vou marcar a resposta como aceita até obter alguma confirmação.

Configure um túnel ssh para o servidor em questão para que você possa, a partir do seu computador doméstico, efetuar login no cliente da Web do Gmail usando o IP do servidor. Você provavelmente precisará encapsular a porta 80 e a porta 443, talvez apenas 443. Depois de efetuar login através do Web client, o problema deve desaparecer de acordo com o artigo da base de dados de conhecimento listado no SMTPAuthenticationError.

Veja um exemplo de como configurar o túnel: http://www.noah.org/wiki/SSH_tunnel#simple_port_forwarding_.28SSH_tunneling.29

5
joshcartme

Opção # 1 (isso funcionou para mim):

Depois de obter o erro Please log in with your web browser and then try again. Learn more etc. ao tentar enviar e-mail do meu aplicativo da web, eu entrei no e-mail via navegador do meu computador local.

Depois que eu entrei, havia uma barra de notificação amarela na parte superior que me perguntava se eu queria permitir que o aplicativo externo acessasse meu e-mail. Confirmei isso e o Google me pediu para fazer login na conta do aplicativo nos próximos 10 minutos. Isto irá listar o aplicativo em branco.

Opção 2:

Se a Opção nº 1 não funcionar para você, tente o seguinte: http://www.rocketideas.com/2012/05/gmail-error-password-not-accepted-from-server-solved/

5
finspin

a etusm forneceu dois locais para ativar aplicativos menos seguros:

Um aqui: https://myaccount.google.com/security?pli=1#connectedapps (Parte inferior da página)

E um aqui: https://www.google.com/settings/security/lesssecureapps

ambos estavam ligados, mas meu servidor sem cabeçalho ainda não conseguiu me enviar um e-mail. Com base na recomendação do google + do JohnPang, encontrei um terceiro local onde tive que permitir o acesso a aplicativos menos seguros:

em myaccount.google.com, em "Login e segurança", selecione "Aplicativos e sites conectados". isso também tem uma opção para "Permitir aplicativos menos seguros". depois de ligar este, meu servidor agora poderia me enviar um e-mail automático.

4
Milothicus

Encontrei a solução em: https://support.google.com/accounts/answer/185833?hl=pt-BR e finalmente https://security.google.com/settings/security/apppasswords

Se você estiver testando seu projeto em uma máquina local, você deve ir para o último link e ativar "Acesso para aplicativos menos seguros".

2
1man

Todos os itens acima não ajudam no meu caso (estranho). Mas este link pode ajudá-lo:

https://security.google.com/settings/security/activity

Você pode acessá-lo pelo Google Plus

  1. Abra o Google+
  2. Selecione "Segurança" no topo
  3. Em "Atividade recente", clique em "Visualizar todos os eventos"
  4. Você verá uma lista de "Atividade incomum"
  5. Ele mostra "Tentativa de login do aplicativo/dispositivo (impedido) em Cingapura", já que estou usando o AWS em Cingapura
  6. Clique em "Alterar"> "Sim, fui eu!"
  7. Tente novamente. Feito!
1
John Pang

Você tem dois fatores de autenticação habilitados para a conta de aplicativos? Em seguida, você pode precisar usar uma senha específica do aplicativo para esse aplicativo. 

1
Christer B

A partir de agora (veja minha data de postagem), há apenas uma alternância de "Permitir aplicativos menos seguros" na interface do administrador do Gmail: https://myaccount.google.com/u/0/security #connectedapps

Ele funcionará a partir do seu computador local (Mac ou PC) depois disso. 

Para permitir acesso do Amazon EC2 (e suspeito de outros hosts localizados na nuvem), há ainda outro sinalizador para definir na batalha interminável do Google com spammers: https://accounts.google .com/b/0/DisplayUnlockCaptcha

0
Alex Rogachevsky