1
我想在Rails 3.0.1應用程序上使用actionmailer發送郵件。這裏是我的設置Actionmailer無法識別rails 3應用程序
配置/初始化/爲setup_mail.rb
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "saidyes.co.uk",
:user_name => "username",
:password => "password",
:authentication => "plain",
:enable_starttls_auto => true
}
ActionMailer::Base.default_url_options[:host] = "localhost:3000"
ActionMailer::Base.register_interceptor(DevelopmentMailInterceptor) if Rails.env.development?
配置/環境/ development.rb
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
應用程序/郵寄/ user_mailer.rb
class UserMailer < ActionMailer::Base
default :from => "[email protected]"
def self.registration_confirmation(user)
@user = user
attachments["rails.png"] = File.read("#{Rails.root}/public/images/rails.png")
mail(:to => "#{user.email}", :subject => "Welcome")
end
end
app/models/user.rb
require "#{Rails.root}/app/mailers/user_mailer"
after_create :send_welcome_email
private
def send_welcome_email
UserMailer.registration_confirmation(self).deliver
end
我得到的第一個錯誤是我的用戶模型類中未初始化的常量UserMailer。我通過在用戶模型定義的頂部添加require來修復它。現在,我得到UserMailer
未定義的局部變量或方法'附件:類
我必須配置的ActionMailer不正確或我的Rails應用程序配置不正確使用郵件。
無論如何任何意見或幫助,將不勝感激。
乾杯
doh!當我在用戶模型中得到未初始化的常量usermailer的早期錯誤時,我將自我引用放入。無論如何,感謝您花時間回答,這很有效! – Dermot