我知道这是一个简单的问题,并且被问了很多次,我也问过这个问题,因为我检查过的所有以前的问题都是基于 rails 3.0.0 版本,我使用的是最新版本。我有一个包含姓名和电子邮件字段的用户注册表单。我想这样做,当用户单击提交按钮时,我使用 rails 3.2.5 版本的用户应将电子邮件发送到指定的电子邮件地址,而 gem 'mail' 版本 2.4.4 开发日志文件显示邮件是发送到电子邮件地址,但在收件箱中找不到。我也知道在开发模式下,action mailer 不会向任何地址发送邮件,但我想在开发阶段这样做。我的代码是:
/config/initializers/setup_mail.rb
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "asciicasts.com",
:user_name => "asciicasts",
:password => "secret",
:authentication => "plain",
:enable_starttls_auto => true
}
/app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default :from => "eifion@asciicasts.com"
def registration_confirmation(user)
mail(:to => user.email, :subject => "Registered")
end
end
/app/controllers/users_controller.rb
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
UserMailer.registration_confirmation(@user).deliver
format.html { redirect_to(@user, :notice => 'User was successfully created.') }
format.xml { render :xml => @user, :status => :created, :location => @user }
else
format.html { render :action => "new" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end
所以任何人请帮助我。