Ruby on rails Sidekiq没有发送电子邮件
我使用sidekiq在后台发送邮件。 我在sidekiq日志中得到了这个Ruby on rails Sidekiq没有发送电子邮件,ruby-on-rails,ruby,redis,sidekiq,Ruby On Rails,Ruby,Redis,Sidekiq,我使用sidekiq在后台发送邮件。 我在sidekiq日志中得到了这个 def performed? create_activation_digest && customer.save && send_mail(:account_activation, { email: customer.email, activation_token: customer.activation_token }) # from here mailer m
def performed?
create_activation_digest &&
customer.save &&
send_mail(:account_activation, { email: customer.email, activation_token: customer.activation_token }) # from here mailer method is being called
end
class ApplicationMailer < ActionMailer::Base
default from: 'lavo@cactimedia.biz'
layout 'mailer'
before_action :initialize_defaults
private
def initialize_defaults
@greeting = "Dear User,"
@signature = "The Lavo Team"
end
end
class NotificationsMailer < ApplicationMailer
def account_activation(args={})
activation_token = args[:activation_token]
email = args[:email]
@activation_link = edit_api_activation_url(activation_token, email: email)
mail(to: email)
end
end
[ActiveJob] [ActionMailer::DeliveryJob] [2797cd49-dabe-4af0-a5a8-c47ae5e956b3] Performing ActionMailer::DeliveryJob from Sidekiq(mailers) with arguments: "NotificationsMailer", "password_digest", "deliver_now", #<GlobalID:0x00000007281480 @uri=#<URI::GID gid://lavo-laundry/Customer/6>>
[ActiveJob] [ActionMailer::DeliveryJob] [2797cd49-dabe-4af0-a5a8-c47ae5e956b3] Performed ActionMailer::DeliveryJob from Sidekiq(mailers) in 0.97ms
def是否已执行?
创建\u激活\u摘要&&
顾客储蓄&&
发送邮件(:account\u activation,{email:customer.email,activation\u token:customer.activation\u token})#从这里调用mailer方法
结束
类ApplicationMailer
但是邮件没有被发送。有人知道我是否遗漏了什么吗?检查sidekiq设置是否有以下内容:
# config / sidekiq.yml
---
:queues:
- mailers
或通过以下方式启动sidekiq服务:
bundle exec sidekiq -q default -q mailers
如所示,检查sidekiq设置是否具有以下内容:
# config / sidekiq.yml
---
:queues:
- mailers
或通过以下方式启动sidekiq服务:
bundle exec sidekiq -q default -q mailers
如中所示,您是否可以在实际使用sidekiq发送邮件的位置添加更多代码?编辑了一个问题,添加了mailer方法。您是否也可以在调用此mailer的位置添加sidekiq作业的代码?您是否尝试过在发送邮件()的结尾添加
.deliver
?是的,我尝试过,我发现邮件未发送。但我可以在rails日志中看到-[ActiveJob]将ActionMailer::DeliveryJob(作业ID:e91ccd3f-059d-4be1-97e1-c77d6aeb9761)排入队列,并带有参数:“NotificationsMailer”、“account_activation”、“deliver_now”{:email=>”palash12@yopmail.com“,:activation_token=>“D60B4251F1424AE1B2A1BE143E590EE”}并在Sidekiq日志中:[ActiveJob][ActionMailer::DeliveryJob][e91ccd3f-059d-4be1-97e1-c77d6aeb9761]从Sidekiq(邮递员)执行ActionMailer::DeliveryJob在0.69msCan中,您可以在实际使用sidekiq发送邮件的位置添加更多代码?编辑了一个问题,添加了mailer方法。您还可以在调用此mailer的位置添加sidekiq作业的代码吗?您是否尝试过在send_mail()的末尾添加.deliver
?是的,我尝试过,发现邮件未发送。但我可以在rails日志中看到-[ActiveJob]将ActionMailer::DeliveryJob(作业ID:e91ccd3f-059d-4be1-97e1-c77d6aeb9761)排队到Sidekiq(邮件程序),参数为:“通知邮件程序”、“帐户激活”、“立即交付”、“电子邮件=>”palash12@yopmail.com“,:activation_token=>“D60B4251F1424AE1B2A1BE143E590EE”}并在Sidekiq日志中:[ActiveJob][ActionMailer::DeliveryJob][e91ccd3f-059d-4be1-97e1-c77d6aeb9761]在0.69毫秒内从Sidekiq(邮递员)执行了ActionMailer::Delivery作业