Net :: SMTPAuthenticationError,535-5.7.8不接受用户名和密码

时间:2016-03-16 13:45:08

标签: ruby-on-rails-4 gmail actionmailer

我知道这个问题已被回答了很多次,但我仍然无法弄清楚我的参数有什么问题。

我修改了我的gmail帐户,因此它允许安全性较低的应用程序,使用验证码解锁,但它仍然认为我的用户名和密码不被接受,即使我确定它们我检查了3次已经

以下是我的文件:

配置/环境/ production.rb

config.action_mailer.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default_url_options = { :host => 'localhost:3000' }
  config.action_mailer.smtp_settings = {
      :address              => "smtp.gmail.com",
      :port                 => 587,
      :user_name            => "mymail@gmail.com",
      :password             => "mypassword",
      :authentication       => :login,
      :enable_starttls_auto => true
  }

配置/初始化/ smtp_settings.rb

ActionMailer::Base.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 587,
    :domain => "mywebsite.fr",
    :user_name => "myemail@gmail.com",
    :password => 'myPassword',
    :authentication => :login,
    :enable_starttls_auto => true
}

我想我做错了什么,或者把某些东西放在了不属于的地方,但我已经看到了很多不同的方法去做我丢失了

提前谢谢

1 个答案:

答案 0 :(得分:2)

我是初学者,这是我第一次在stackoverflow上发帖,我希望这会帮助你。如果我能帮助你,请告诉我!另外,如果你想使用sendgrid和heroku,我也可以帮忙。

因此,当涉及到我的gmail身份验证设置时,我还必须允许安全性较低的应用,并解锁验证码。除了gmail设置中的这两个更改,我还必须转到我的Gmail设置>转发和POP / IMAp>然后单击ENABLE IMAP。保存更改。这些都是改变我狂我的Gmail。

进行以下更改:

配置/初始化/为setup_mail.rb 将身份验证更改为:plain

if Rails.env.development? || Rails.env.production?
        ActionMailer::Base.delivery_method = :smtp
        ActionMailer::Base.smtp_settings = {
            address:        'smtp.gmail.com',
            port:           '587',
            authentication: :plain,
            user_name:      'yourEmail@gmail.com',
            password:       'yourSecureGmailPassword',
            domain:         'mail.google.com',
            enable_starttls_auto: true
        }
     end

config / environments / test.rb 主机是一个网站,因为我使用的是cloud9

config.action_mailer.default_url_options = { host: 'https://blocipedia-sunnygoo.c9users.io', port: 3000 }

配置/环境/ development.rb

config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { host: 'same as in test.rb', port: 3000 }

应用程序/模型/ user.rb

devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable

应用程序/邮寄者/ application_mailer.rb

class ApplicationMailer < ActionMailer::Base
              default from: "from@example.com"
              layout 'mailer'
  end

应用程序/邮寄者/ user_mailer.rb

class UserMailer < ApplicationMailer
               default from: "sunnydgoswami@@gmail.com"

               def new_user(user)
               @user = user
               mail(to: user.email, subject: "Welcome to Blocipedia!")
            end
         end

应用程序/视图/布局/ mailer.html.erb

          <html>
               <body>
                    <%= yield %>
               </body>
          </html>

应用程序/视图/布局/ mailer.text.erb

<%= yield %>

应用程序/视图/ user_mailer文件/ new_user.html.erb

'<!DOCTYPE html>
            <html>
                <head>
                     <meta content="text/html; charset=UTF-8" http-
                      equiv="Content-Type" />
                </head>
                <body>
                     <h1>Welcome, new user!</h1>
                     <p>
                         <%= @user.email %>, join us in creating a vibrant wiki 
                             atmosphere!
                     </p>
                     <p>
                          You signed up using <%= @user.email %>. You will be 
                          using this email next time to log in.
                     </p>
               </body>
             </html>'