web-dev-qa-db-fra.com

ruby-gmail: exception non interceptée: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtMk

Je peux me connecter manuellement à mon compte, mais lorsque j'utilise Ruby-gmail, cela augmentera l'erreur

c'est mon code

require 'gmail'

gmail = Gmail.new("[email protected]", "passwd")

gmail.deliver do
  to "[email protected]"
  subject "Having fun in Puerto Rico!"
  text_part do
    body "Text of plaintext message."
  end
  html_part do
    content_type 'text/html; charset=UTF-8'
    body "<p>Text of <em>html</em> message.</p>"
  end
  add_file __FILE__
end

c'est ma pleine sortie

Uncaught exception: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtMk

    /home/roroco/.rbenv/versions/2.1.5/lib/Ruby/2.1.0/net/smtp.rb:969:in `check_auth_response'
    /home/roroco/.rbenv/versions/2.1.5/lib/Ruby/2.1.0/net/smtp.rb:740:in `auth_plain'
    /home/roroco/.rbenv/versions/2.1.5/lib/Ruby/2.1.0/net/smtp.rb:732:in `authenticate'
    /home/roroco/.rbenv/versions/2.1.5/lib/Ruby/gems/2.1.0/gems/Ruby-gmail-0.3.1/lib/smtp_tls.rb:57:in `do_tls_start'
    /home/roroco/.rbenv/versions/2.1.5/lib/Ruby/gems/2.1.0/gems/Ruby-gmail-0.3.1/lib/smtp_tls.rb:18:in `start'
    /home/roroco/.rbenv/versions/2.1.5/lib/Ruby/gems/2.1.0/gems/mail-2.6.1/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
    /home/roroco/.rbenv/versions/2.1.5/lib/Ruby/gems/2.1.0/gems/mail-2.6.1/lib/mail/message.rb:248:in `deliver!'
    /home/roroco/.rbenv/versions/2.1.5/lib/Ruby/gems/2.1.0/gems/Ruby-gmail-0.3.1/lib/gmail.rb:107:in `deliver'
    /home/roroco/Dropbox/rbs/ro_plans/ex/ex.rb:5:in `<top (required)>'

mise à jour

solution: https://security.google.com/settings/u/1/security/apppasswords > générer du nouveau pour le courrier> s'en souvenir> le remplir dans Ruby-gmail passwd

15
anyvoleki

Gmail dispose de certaines fonctions de sécurité qui doivent être activées/désactivées 1 - Dans votre compte Gmail, accédez à Paramètres> Transfert et POP/IMAP et activez les protocoles que vous souhaitez utiliser.

2 - Activez l'accès aux applications moins sécurisées https://www.google.com/settings/security/lesssecureapps

36
Vitor

Je change la gemme 'Ruby-gmail' en gemme 'gmail', ça marche.

mise à jour: il ne peut pas résoudre ma question, gem 'gmail' ignore uniquement mon erreur (augmentation du bug d'erreur)

2
anyvoleki

Vous pouvez également vérifier https://accounts.google.com/DisplayUnlockCaptcha . Vous pouvez débloquer l'URL de l'application en la déverrouillant.

2
Raj Kumar Goyal