2016-08-02 3 views
1

Я пытаюсь отправить электронное письмо, когда в моем приложении rails создается новый английский класс. В этом приложении может быть уместно, что Student является унаследованным (STI) типом созданного Пользователя, и я пытаюсь отправить им электронное письмо, когда учитель (другой тип унаследованного разработчика User) создает оценку.Ошибка Mailer Gmail Net :: SMTPAuthenticationError в EnglishGradesController # create

На данный момент просто пытается заставить его работать локально с помощью gmail. Я использовал

rails g mailer UserMailer 

для установки.

Это ошибка, которую я получаю, когда создаю английский язык.

Net :: SMTPAuthenticationError в EnglishGradesController # создать

530-5.5.1 Authentication Required. Узнать больше на

@student = Student.find_by_id(@english_grade.student_id) 
    if @english_grade.save 
    **UserMailer.new_grade(@student).deliver** 
    redirect_to(student_path(@student), :notice => "Post was successfully created.") 
    else // etc 

(** является Выделенная ошибка)

выше, также, где я звоню почтовую программу, так что я не буду повторять.

Мой development.rb файл:

config.action_mailer.raise_delivery_errors = true 

config.action_mailer.delivery_method = :smtp 

config.action_mailer.default_url_options = { :host => "my ip address" } 

config.action_mailer.smtp_settings = { 
:address    => "smtp.gmail.com", 
:domain => 'my ip address:3000', //where 3000 is the port I'm running on locally 
:port     => 587, 
:user_name   => ENV['[email protected]'], 
:password    => ENV['password'], 
:authentication  => "plain", 
:enable_starttls_auto => true 
} 

    config.action_mailer.perform_caching = false 

Моя почтовая программа:

class UserMailer < ApplicationMailer 
default from: "[email protected]" 

    def new_grade(user) 
    @user = user 
    mail to: @user.email, subject: "New grade created" 
    end 

end 

От чтения некоторых других Qs:

В development.rb я попробовал без " domain: 'и без наличия IP-адреса хоста

Я пробовал: http://www.google.com/accounts/DisplayUnlockCaptcha

Я также разрешен доступ для менее защищенных приложений https://www.google.com/settings/security/lesssecureapps

Я изменил свой пароль к чему-то сложному

Я также попытался изменить порт 465, но получил конец ошибки файла.

Кроме того, если это не имеет никакого отношения, я создал этот GMAIL счет сегодня специально для отправки сообщений электронной почты для приложения

Любая помощь будет высоко ценится, спасибо!

ответ

0

Проблема заключалась в том, что на самом деле

:authentication  => "plain", 

должно быть:

:authentication  => "login",