gpt4 book ai didi

ruby-on-rails - ActionMailer 有时不发送?

转载 作者:行者123 更新时间:2023-12-04 07:37:54 25 4
gpt4 key购买 nike

我有一个问题,ActionMailer 有时不发送电子邮件。它是可重复的,并且会在某些时候影响某些人,尽管导致它的原因是个谜。

尽管 config.action_mailer.raise_delivery_errors = true,但它默默地失败了设置。

它进入 mail() 例程,声称它已呈现模板:

Rendered notifier/notify_comment.html.erb (0.9ms)

然后跳过交付并移动到下一个。下一个渲染和交付没问题。发送电子邮件时,它们也会打印到控制台,因此我可以看到它。每封邮件的内容都是一样的,只是收件人不同。

我不明白为什么这会是间歇性的。

我该如何去调试这个?

最佳答案

邮件程序的每个实例只能发送 1 封电子邮件。

您在邮件程序中是否有类似这样的代码?

@subscribers.each do |s|
mail(
:to => s.email,
:subject => "Foo Foo",
:from => "someone@example.com",
:template_name => 'template_name'
).deliver
end

这似乎不起作用。遍历邮件程序之外的订阅者,并调用一次:

在 Controller 或模型中:
@subscribers.each do |s|
Notifier.send_to_subscriber(s, @comment)
end

这是我在 Rails 3.2.2 中的经验。 FWIW,我认为发生的事情是邮件对象超出了范围。

这种方法可能很慢,所以一定要在单独的线程中发送电子邮件。

引用及思路: How to send multiple emails with SendGrid?

关于ruby-on-rails - ActionMailer 有时不发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13050224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com