Rails 4 Net::SMTPAuthenticationError: 535 #5.7.0 Authentication failed

前端 未结 5 886
攒了一身酷
攒了一身酷 2020-12-11 16:50

I\'m building a email list for a student organization at my University. The organization has around 6000 members and to avoid costs I\'ve received permission to use the scho

相关标签:
5条回答
  • 2020-12-11 17:08

    My issue was resolved by following steps.

    config.action_mailer.default :charset => "utf-8"
    config.action_mailer.perform_deliveries = true
    config.action_mailer.raise_delivery_errors = true
    config.action_mailer.delivery_method = :smtp
    config.action_mailer.smtp_settings = {
        address: 'smtp.gmail.com',
        port: 587,
        domain: 'mysite.com',
        user_name: myemail@gmail.com,
        password: mypassword,
        authentication: 'plain',
        enable_starttls_auto: true
    }
    

    As google will try to block your sign-in if you have turned off access for less secure apps in your accounts settings. Therefore, follow this link and "Turn on" access for less secure apps.

    0 讨论(0)
  • 2020-12-11 17:12

    Should ":domain" point to "school.edu" instead of "herokuapp.com"? I know when you set smtp for gmail via action_mailer settings, you have something like:

    config.action_mailer.smtp_settings = {
        :address              => 'smtp.gmail.com',
        :port                 => 587,
        :domain               => 'gmail.com',
        :user_name            => 'example@gmail.com',
        :password             => 'example_password',
        :authentication       => 'login',
        :enable_starttls_auto => true
      }
    
    0 讨论(0)
  • 2020-12-11 17:13

    Should the domain contain "http://" ?

    0 讨论(0)
  • 2020-12-11 17:17

    Create a file setup_mail.rb in the folder config/initializers/ and put the code:-

    ActionMailer::Base.delivery_method = :smtp
    ActionMailer::Base.perform_deliveries = true
    ActionMailer::Base.smtp_settings = {
      :address   => "smtp.school.edu",
      :domain => 'myapp.herokuapp.com',
      :port      => 25,
      :user_name => "account@school.edu",
      :password  => "mypassword", 
      :authentication => :plain,
      :enable_starttls_auto => true
    }
    ActionMailer::Base.default_url_options[:host] = "myapp.herokuapp.com"
    
    0 讨论(0)
  • 2020-12-11 17:29

    Try adding openssl_verify_mode => 'none' to your action mailer settings:

    config.action_mailer.smtp_settings = 
    {
        :address   => "smtp.school.edu",
        :port      => 25, 
        :enable_starttls_auto => true, 
        :user_name => "account@school.edu",
        :password  => "mypassword", 
        :authentication => 'login',
        :domain => 'http://myapp.herokuapp.com/',
        :openssl_verify_mode => 'none'
    }
    

    Granted, we are using Rails 3, but this worked for me. The issue for us was that our certificates are self-signed and the library Rails uses considers that to be a problem. Here is an article that talks about the option.

    0 讨论(0)
提交回复
热议问题