Devise::Async::Backend::DelayedJob#perform failed with Net::SMTPAuthenticationError: 435 4.7.8 Error: authentication failed:
Closed this issue · 8 comments
Output is below. Using Rails 3.2.12, Devise 2.2.3, Devise-Async 0.6.0, Delayed_job_active_record 0.4.3, and Delayed_Job 3.0.5.
Note that other mailers work just fine. It is only the Devise mailers that seem to have issues.
Handler:
--- !ruby/object:Delayed::PerformableMethod
object: !ruby/object:Devise::Async::Backend::DelayedJob {}
method_name: :perform
args:
- :reset_password_instructions
- User
- '1'
- {}
Last Error:
435 4.7.8 Error: authentication failed:
/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:960:in check_auth_response' /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:737:in
auth_plain'
/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:729:in authenticate' /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:564:in
do_start'
/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:519:in start' /app/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/network/delivery_methods/smtp.rb:144:in
deliver!'
/app/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:2034:in do_delivery' /app/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:229:in
block in deliver'
/app/vendor/bundle/ruby/1.9.1/gems/actionmailer-3.2.12/lib/action_mailer/base.rb:415:in block in deliver_mail' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/notifications.rb:123:in
block in instrument'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/notifications/instrumenter.rb:20:in instrument' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/notifications.rb:123:in
instrument'
/app/vendor/bundle/ruby/1.9.1/gems/actionmailer-3.2.12/lib/action_mailer/base.rb:413:in deliver_mail' /app/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:229:in
deliver'
/app/vendor/bundle/ruby/1.9.1/gems/devise-async-0.6.0/lib/devise/async/backend/base.rb:15:in perform' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/performable_method.rb:26:in
perform'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/backend/base.rb:95:in block in invoke_job' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in block in initialize' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in execute' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:38:in
run_callbacks'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/backend/base.rb:92:in invoke_job' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:203:in
block (2 levels) in run'
/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/timeout.rb:68:in timeout' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:203:in
block in run'
/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/benchmark.rb:295:in realtime' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:202:in
run'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:259:in block in reserve_and_run_one_job' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in block in initialize' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in execute' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:38:in
run_callbacks'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:259:in reserve_and_run_one_job' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:187:in
block in work_off'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:186:in times' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:186:in
work_off'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:151:in block (4 levels) in start' /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/benchmark.rb:295:in
realtime'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:150:in block (3 levels) in start' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in block in initialize' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in execute' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:38:in
run_callbacks'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:149:in block (2 levels) in start' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:148:in
loop'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:148:in block in start' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/plugins/clear_locks.rb:7:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/plugins/clear_locks.rb:7:in block (2 levels) in ' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:78:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:78:in block (2 levels) in add' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in block in initialize' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:78:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:78:in block in add' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in
call'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in execute' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:38:in
run_callbacks'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:147:in start' /app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/tasks.rb:9:in
block (2 levels) in '
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:228:in call' /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:228:in
block in execute'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:223:in each' /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:223:in
execute'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:166:in block in invoke_with_call_chain' /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/monitor.rb:211:in
mon_synchronize'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:159:in invoke_with_call_chain' /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:152:in
invoke'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:143:in invoke_task' /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in
block (2 levels) in top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in each' /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in
block in top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:110:in run_with_threads' /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:95:in
top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:73:in block in run' /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in
standard_exception_handling'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:70:in run' /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.3/bin/rake:33:in
'
/app/vendor/bundle/ruby/1.9.1/bin/rake:23:in load' /app/vendor/bundle/ruby/1.9.1/bin/rake:23:in
'
It looks like an SMTP authentication issue and devise-async doesn't touch it at all. How are you authenticating in your other mailers? Are the delayedjob workers running the same rails environment?
Sorry-- this was an error with my mailer (I was using Mandrill SMTP). It is resolved now.
@JiangKeren Would you mind posting your solution/sharing it? Searching for this issue leads here, and if you solved it, it may help others. Thanks!
I just had to generate a new API key on Mandrill (on Heroku) and used that instead. I was upgrading my Mandrill accounts from Mandrill-Test (when it was in Beta) to Mandrill. So the old API key was invalid, hence the error.
@JiangKeren Awesome, thanks. I had been using the wrong credentials as well and fixed it by using the right ones.
I am getting the same error, I am using centos and it is configured with postfix. how can i resolve this?
@iarivarasan before trying to use devise-async, make sure your emails are delivered using plain devise. Just then enable devise-async. You're probably facing a SMTP issue that has nothing to do with devise-async.
@mhfs yes, for me the problem is in SMTP details.