RailsCasts のチュートリアル (改訂版のメール送信) に従いました。正しく動作していなかったため、「config」の開発ファイルを変更する必要がありました。インターセプターを追加しようとすると(Railsにメールを送信するように指示すると)、ユーザーへの送信が停止します。無効にすると、ユーザーには送信されますが、私には送信されません。エラーはまったく発生しません。ありがとうございました !
Here are my files:
My config/development.rb file:
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => "admin@gmail.com",
:password => 'admin',
:authentication => "plain",
:enable_starttls_auto => true
}
User controller:
UserMailer.signup_confirmation(@user).deliver
User mailer file:
app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: "admin@gmail.com"
def signup_confirmation(user)
@user = user
mail to: user.email, subject: "Sign Up Confirmation"
end
end
lib/development_mail_interceptor.rb file
class DevelopmentMailInterceptor
def self.delivering_email(message)
message.subject = "[#{message.to}] #{message.subject}"
message.to = "admin@gmail.com"
end
end
config/initiliazers/setup_mail.rb
require 'development_mail_interceptor'
ActionMailer::Base.register_interceptor(DevelopmentMailInterceptor) if
Rails.env.development?