2014-06-09 59 views
0

我已經設置了Sidekiq在註冊時發送電子郵件。Sidekiq ActionMailer在開發中但不是我生產(使用mailgun)

該過程在開發模式下正常工作,但在生產中,它似乎像我的smtp設置(或其他)不工作,當我使用sidekiq(sendt到redis)。

是否有使用sidekiq通過Mailgun發送郵件的困擾?

這是我創建的用戶動作:

def create 
    @user = User.new(params[:user]) 
    @user.roles << Role.find_by_role("member") 
    @user.subdomain = @user.subdomain.downcase 
    @user.generate_token(:confirm_email_token) 
    @user.confirm_email_sent_at = Time.zone.now 
    if @user.save 
     UserMailer.delay.new_user(@user.id) 

     redirect_to root_url, notice: "Thank you for registering." 
    else 
     render "new" 
    end 
end 

這是我的郵件:

def new_user(user_id) 
    @user = User.find(user_id) 
    mail :to => @user.email, :subject => "Welcome to Theatrical.co" 
end 

在發展這工作得很好。然而在生產這不起作用。我得到這個錯誤消息:

Net::SMTPFatalError: 550 5.7.1 Relaying denied 

它似乎與Mailgun不接受redis或sidekiq發送郵件有關。

是否有一些我需要的祕密設置?

回答

0

您必須被授權使用郵件服務器進行中繼。未經授權的用戶將收到「中繼拒絕」錯誤。確認用戶有足夠的權限發送郵件

相關問題