Rails SMTPAuthenticationError Action Mailer

时间:2012-04-10 00:15:27

标签: ruby-on-rails ruby-on-rails-3 nginx actionmailer

我开发了一个Rails 3应用程序,最近我添加了一个用户注册时的动作邮件。
在本地测试它并完美地发送电子邮件,但是当我将其移动到服务器测试它以便新用户注册时,我收到以下错误。

我在服务器上使用原始配置运行Nginx,本地计算机和服务器都运行ubuntu 11.10

UsersController中的Net :: SMTPAuthenticationError#创建
535-5.7.1不接受用户名和密码 app / controllers / users_controller.rb:26:in'create'

在users_controller.rb中 - 创建 - 第26行是UserMailer.welcome_email(@user).deliver

  def create
    @user = User.new(params[:user])
    if @user.save
      sign_in @user
      flash[:success] = "Welcome to University Sports!"
      redirect_to @user
      UserMailer.welcome_email(@user).deliver
    else
      @title = "Sign up"
      render 'new'
    end
  end


在development.rb中,我有以下代码:

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address              => 'smtp.gmail.com',
    :port                 => 587,
    :domain               => 'www.mydomain.co.uk',
    :user_name            => 'email@mydomain.co.uk',
    :password             => 'email_password',
    :authentication       => 'plain',
    :enable_starttls_auto => true  }

user_mailer.rb

class UserMailer < ActionMailer::Base
  default :from => "univeristy.sports@louisgriffiths.co.uk"

  def welcome_email(user)
    @user = user
    @url  = "http://www.mydomain:3000"
    mail(:to => user.email, :subject => "Welcome to University Sports")
  end
end

1 个答案:

答案 0 :(得分:0)

我有完全相同的错误,发现我的application.yml文件覆盖了它所以我删除了它,现在它工作正常!