我开发了一个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
答案 0 :(得分:0)
我有完全相同的错误,发现我的application.yml文件覆盖了它所以我删除了它,现在它工作正常!