ruby-gmail: Исключено исключение: 534-5.7.14 <https: >
Я могу вручную войти в свою учетную запись, но когда я использую ruby-gmail, это вызовет ошибку
это мой код
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
это мой полный выход
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)>'
Обновить
Решение: https://security.google.com/settings/u/1/security/apppasswords > генерировать новое для почты> запомнить его> заполнить его в ruby-gmail passwd
Ответы
Ответ 1
В Gmail есть некоторые функции безопасности, которые необходимо включить/отключить. 1 - Внутри учетной записи gmail перейдите в "Настройки"> "Пересылка" и "POP/IMAP" и включите протоколы (протоколы), которые вы хотите использовать
2 - Включить доступ к менее безопасным приложениям https://www.google.com/settings/security/lesssecureapps
Ответ 2
Я меняю gem "ruby-gmail" на gem "gmail", он работает.
update: он не может исправить мой вопрос, gem 'gmail' игнорирует только мою ошибку (ошибка ошибки повышения)
Ответ 3
Вы также можете проверить https://accounts.google.com/DisplayUnlockCaptcha. Вы можете разблокировать URL приложения, открыв его.