x6iae
x6iae

Reputation: 4164

mailer with gmail gives Net::SMTPAuthenticationError: with 2-factor auth disabled

I am getting a Net::SMTPAuthenticationError both on my development (local) env as well as when I host on Heroku, when I try to send mails from my rails application.

This started after sending the first couple of email (2 mails to be specific).

All research so far made me think that this should could be due to having a 2-factor auth enabled on the gmail account, but when I checked the account, 2-factor autt was not enabled.

screenshot of the 2-factor auth setting on my account

below is my smtp setting both in config/development.rb and config/production.rb:

  config.action_mailer.delivery_method = :smtp
  # SMTP settings for gmail
  config.action_mailer.smtp_settings = {
      :address              => "smtp.gmail.com",
      :port                 => 587,
      :user_name            => Rails.configuration.gmail_address,
      :password             => Rails.configuration.gmail_password,
      :authentication       => "plain",
      :enable_starttls_auto => true
  }

My mailer is set up as follow:

class StackoMailer < ActionMailer::Base

    def success_mail
      @my_email = Rails.configuration.gmail_address
      mail(
        from: '[email protected]',
        to: @my_email,
        subject: 'Fuck Yeah! Visited successfully...'
      )
    end
end

On calling PushWatir::StackoMailer.success_mail.deliver_now!, I get the following error:

2.2.1 :001 > PushWatir::StackoMailer.success_mail.deliver_now!
Net::SMTPAuthenticationError: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbv8i

    from /Users/andela/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/smtp.rb:976:in `check_auth_response'
    from /Users/andela/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/smtp.rb:740:in `auth_plain'
    from /Users/andela/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/smtp.rb:732:in `authenticate'
    from /Users/andela/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/smtp.rb:567:in `do_start'
    from /Users/andela/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/smtp.rb:520:in `start'
    from /Users/andela/.rvm/gems/ruby-2.2.1/gems/mail-2.6.3/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
    from /Users/andela/.rvm/gems/ruby-2.2.1/gems/mail-2.6.3/lib/mail/message.rb:252:in `deliver!'
    from /Users/andela/.rvm/gems/ruby-2.2.1/gems/actionmailer-4.2.4/lib/action_mailer/message_delivery.rb:77:in `deliver_now!'
    from (irb):1
    from /Users/andela/.rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands/console.rb:110:in `start'
    from /Users/andela/.rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands/console.rb:9:in `start'
    from /Users/andela/.rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /Users/andela/.rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/andela/.rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:8:in `require'
    from bin/rails:8:in `<main>'
2.2.1 :002 > 

What could be causing this?

How can I make this work? Big thanks for responses

Upvotes: 0

Views: 698

Answers (1)

Narco
Narco

Reputation: 36

One of the solutions that worked for me is by allowing "less secure apps" from my google account.

Steps to do this are as follow:-

From your Google Account settings, find "Sign In & Security" -> "Allow less secure apps", enable it.

Reference - https://support.google.com/accounts/answer/6010255

Upvotes: 1

Related Questions