535-5.7.8 Имя пользователя и пароль не принимаются

У меня есть контактная форма, и после отправки я получаю Net:: SMTPAuthenticationError 535-5.7.8 Username and Password not accepted

Указывает на действие create в контроллере контактов ContactMailer.new_contact(@contact).deliver

Я перезапустил сервер. Я попробовал https://accounts.google.com/DisplayUnlockCaptcha.

Я в разработке.

Контроллер контактов:

 def new
      @contact = Contact.new
    end

    def create
      @contact = Contact.new(params[:message])
      if @contact.valid?
        ContactMailer.new_contact(@contact).deliver
        flash[:notice] = "Message sent! Thank you for contacting us."
        redirect_to root_url
      else
        render :action => 'new'
      end
    end
  end

Development.rb:

  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.perform_deliveries = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address:              'smtp.gmail.com',
    port:                 587,
    domain:               'gmail.com',
    user_name:            '[email protected]',
    password:             'password',
    authentication:       'plain',
    enable_starttls_auto: true  }

  config.action_mailer.default_url_options = { :host => "localhost:3000" }

Ответ 1

Во-первых, вам нужно использовать действительную учетную запись Gmail с вашими учетными данными.

Во-вторых, в моем приложении я не использую TLS auto, попробуйте без этой строки:

config.action_mailer.smtp_settings = {
  address:              'smtp.gmail.com',
  port:                 587,
  domain:               'gmail.com',
  user_name:            '[email protected]',
  password:             'YOUR_PASSWORD',
  authentication:       'plain'
  # enable_starttls_auto: true
  # ^ ^ remove this option ^ ^
}

Ответ 2

У меня была та же проблема. Теперь его рабочий штраф после внесения изменений ниже.

https://www.google.com/settings/security/lesssecureapps

Вы должны изменить "Доступ для менее безопасных приложений" на "Включено" (он был включен, я отключен и вернулся к включенному). Через некоторое время я могу отправить электронное письмо.

Ответ 3

Я сделал все, от посещения http://www.google.com/accounts/DisplayUnlockCaptcha до настройки 2-fa и создания пароля приложения. Единственное, что сработало, заключалось в регистрации http://mail.google.com и отправке электронной почты с самого сервера.

Ответ 4

Goto config/initializers/setup_mail.rb Проверьте, соответствует ли конфигурация конфигурации, записанной в файле development.rb. В обоих файлах должно выглядеть следующим образом:

config.action_mailer.smtp_settings = {
     :address =>"[email protected]",
     :port => 587,
     :domain => "gmail.com",
     :user_name => "[email protected]",
     :password => "********",
     :authentication => 'plain',
     :enable_starttls_auto => true,
     :openssl_verify_mode => 'none' 
     } 

Это, безусловно, решит вашу проблему.

Ответ 5

Если вы все еще не можете решить проблему после включения less secure apps. Другая возможная причина, которая может вызвать эту ошибку, заключается в том, что вы не используете учетную запись gmail.

-    : user_name  =>  '[email protected]' ,  # It can not be used since it is not a gmail address 
+    : user_name  =>  '[email protected]' ,  # since it a gmail address

Обратитесь к здесь.

Также учтите, что для less secure apps может потребоваться несколько раз. Я должен сделать это несколько раз (прежде чем он будет работать, каждый раз, когда я получаю доступ к ссылке, это покажет, что это off), и подождите некоторое время, пока оно действительно не работает.

Ответ 6

установите для параметра raise_delivery_errors значение false вместо true в вашем development.rb

config.action_mailer.raise_delivery_errors = false