我已经开发了一个 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