Sidekiq ActionMailer在开发中工作,但不是我生产(使用mailgun)

时间:2014-06-09 11:36:48

标签: ruby-on-rails ruby-on-rails-4 actionmailer sidekiq mailgun

我已经设置了Sidekiq来发送关于注册的电子邮件。

这个过程在开发模式下运行正常,但是在生产中,当我使用sidekiq(发送到redis)时,我的smtp设置(或其他东西)似乎无效。

使用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发送邮件有关。

我需要改变一些秘密设置吗?

1 个答案:

答案 0 :(得分:0)

您必须被授权使用邮件服务器进行中继。未经授权的用户将收到&#34;中继被拒绝&#34;错误。确认用户有足够的权限发送邮件