1

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

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

用户控制器中的 Net::SMTPAuthenticationError#create
535-5.7.1 用户名和密码不被接受。
app/controllers/users_controller.rb:26:in 'create'

在 users_controller.rb - create - 第 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
4

1 回答 1

0

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

于 2013-06-29T08:45:54.920 回答