rails,动作邮件不发送

Pav*_*bin 16 email ruby-on-rails actionmailer

我是Rails的初学者,我想在有人使用actionmailer注册后发送电子邮件.

我的日志说电子邮件正在发送,但gmail永远不会收到它

配置/初始化/为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
}
Run Code Online (Sandbox Code Playgroud)

邮寄/ user_mailer.rb

class UserMailer < ActionMailer::Base
  default :from => "eifion@asciicasts.com"

  def registration_confirmation(user)
    mail(:to => user.email, :subject => "Registered")
  end
end
Run Code Online (Sandbox Code Playgroud)

控制器/ users_controller.rb

...
def create
    @user = User.new(params[:user])
    if @user.save
      UserMailer.registration_confirmation(@user).deliver
      sign_in @user
      flash[:success] = "Welcome to the Sample App!"
      redirect_to @user
    else
      render 'new'
    end
  end
...
Run Code Online (Sandbox Code Playgroud)

谢谢!

mih*_*hai 17

确保您在以下位置设置了此选项config/environments/development.rb:

config.action_mailer.delivery_method = :smtp

此外,ActionMailer::Base.smtp_settings您需要指定有效的Gmail帐户.复制粘贴(asciicasts)不会在这里削减它.

请参阅此问题以供参考:在开发环境中使用Rails 3发送邮件

  • @Hamdan,同意mihai.这是另一个问题的主题,超出了本次对话的范围. (2认同)