私は Rails 3 アプリを開発しました。最近、ユーザーがサインアップしたときのアクション メーラーを追加しました。
ローカルでテストすると完全にメールが送信されますが、新しいユーザーがサインアップするためにテストでサーバーに移動すると、次のエラーが発生します。
元の構成のサーバーで Nginx を実行しています。ローカル マシンとサーバーの両方で ubuntu 11.10 を実行しています。
Net::SMTPAuthenticationError in UsersController#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